2013-08-06 5 views
0

http://www.panopta.com/2013/02/06/bootstrap-application-wizard재정 부트 스트랩 마법사의 기본 동작

http://wstevens1.adventivedev.com/ui/js/bootstrap-wizard/bootstrap-wizard.js

내가 좀 더 얻을 부트 스트랩 - wizard.js의 원래 소스를 편집하지 않고 마법사의 모든 인스턴스에 대한 라인 (484)에 이벤트 핸들러를 재정의하고자

바람직한 사용자 정의 동작.

  this.el.find(".wizard-steps").on(
        "click", "li.already-visited a.wizard-nav-link", this, 
        function(event) { 
          var index = parseInt($(event.target).data("navindex")); 
          event.data.setCard(index); 
        }); 

을 내 자신의 클릭 핸들러와 함께 : 즉

나는 무시하고 싶습니다. 마법사 카드를 선택하면이 핸들러가 실행됩니다. Javascript에 익숙하지 않은데 어떻게해야 할지를 알고 있습니다.

마법사가 작동하는 방식을 반드시 알아야 할 필요는 없지만 Javascript를 사용하여 이에 대한 답변을 얻을 수 있습니다. 누군가? 감사합니다

답변

1

직후 추가 한 후 on() 기능을 사용하여 핸들러를 제거하는 jQuery의 off() 기능을 사용할 수있는 마법사를 인스턴스화 자신 :

var selector = 'li.already-visited a.wizard-nav-link'; 
(".wizard-steps").off('click', selector).on("click", selector, function(event) { 
    //your own handler here 
}); 
+0

내가하지만, 그런 일을 피하기 위해 기대했다 궁극적으로해야 할 수도 있습니다. 모든 마법사의 마법사 개체의 el 속성을 통해 클릭 동작을 재정의 할 수있는 방법이 있습니까? – Wes

+0

이것은'this'의 속성이므로'el'은 마법사 인스턴스에 특정한 것 같습니다. 따라서 해당 속성을 사용하면 페이지에서 인스턴스화 된 모든 마법사의 동작을 재정의 할 수 없습니다. 공개적으로 범위가 지정되었다고 가정하면 모든 마법사를 반복하여 '엘'속성을 가져올 수 있습니다. 그러나 이것이 작동하더라도 'off()'를 사용하여 기존 이벤트 핸들러를 제거해야합니다. – cfs

관련 문제