2014-06-12 17 views
0

JQuery와이 기능을 네임 스페이스 토글은

  • http://api.jquery.com/toggleClass/
    • 을 가지고 있지만, 이름 공간을 허용하지 않습니다. 네임 스페이스를 사용하면 여러 클래스를 라디오 버튼처럼 전환 할 수 있습니다. ns1을 확인하고이 네임 스페이스에 다른 클래스를 제거하고 클래스 test

      내 응용 프로그램 코드를 유지하기 위해이 라이브러리 기능을 작성으로 대체됩니다 예를

      toggleClass(el, 'ns1', 'test') 
      

      에 대한

      .

      나는 실수로 클래스를 접두사로 사용하고 네임 스페이스를 별도의 인수로 지정했습니다.

      // apply event listeners to the input elements 
      applyEL: function (input_element, label_element) { 
          var self = this; 
          self.J.input = $(input_element); 
          self.J.input.on("blur", function() { 
           if (input_element.value === '') { 
            $A.toggleClass(input_element, self.S.toggle_border_show); 
            $A.toggleClass(label_element, self.S.toggle_label_show); 
            $A.expandFont(label_element, 'up', self.S.speed); 
           } 
          }, false); 
          self.J.input.on("focus", function() { 
           if (input_element.value === '') { 
            $A.toggleClass(input_element, self.S.toggle_border_obscure); 
            $A.toggleClass(label_element, self.S.toggle_label_obscure); 
           } 
          }, false); 
          self.J.input.on("paste keypress drop", function() { 
           $A.setTimeout(function (label_element, input_element) { 
            $A.toggleClass(label_element, this.S.toggle_label_hide); 
            $A.toggleClass(input_element, this.S.toggle_border_hide); 
           }, 0); 
          }, false); 
      } 
      

      내가 언급 한 것과 다른이를 할 수있는 더 나은 방법이 있나요 :

      여기에 이름 간격 사용자 정의 toggleClass의 내 진행에 사용하는 것입니다.

    +1

    당신이하고있는 일이 명확하지 않습니다. 나는 "HTML 클래스 네임 스페이스"를 봤는데 클래스가 네임 스페이스에 있다는 제안을 찾을 수 없습니다. – Barmar

    +0

    클래스는 네임 스페이스가 아니므로 클래스가 네임 스페이스가되고 어떻게 할 것입니까? – adeneo

    +1

    내가하고있는 일을 이해하고 싶지만 여기서 정의되지 않은 변수가 너무 많습니다 ... –

    답변

    0

    더 나은 방법은 html 또는 body 요소에 클래스를 추가하는 것입니다.이 클래스는 일반적인 테마 스위처와 마찬가지로 이름 공간의 역할을합니까?

    특정 요소에 대한 로컬 이름 공간이 필요하면 부모 요소를 참조하십시오.

    그리고 붐에는 이름 공간이 있습니다!

    관련 문제