위젯이 다른 위젯에 대한 클릭을 수신 대기하지만 자체적으로 정상 클릭을 수신하지 못하게하려면 어떻게해야합니까? 예를 들어 :jquery namespaced events
var $dialogWidget = jQuery('#dialogWidget');
$dialogWidget
.bind('click.btn1.otherWidget',doSomething)
.bind('click.btn2.otherWidget',doSomething2)
.bind('click.btn1.otherWidget2',doSomething3);
이 코드의 문제는 내가 $ dialogWidget의 아무 곳이나 클릭하면, 내가 구속 한이 모든 이벤트가 트리거 될 것입니다. 내가 원하는이
var $otherWidget = jQuery('#otherWidget');
var $btn1 = $otherWidget.find('a.btn1');
$btn1
.click(function(){
$dialogWidget.trigger('click.btn1.otherWidget');
});
이 'click.btn1.otherWidget'이벤트가 $ dialogWidget 해고되는 유일한 방법해야한다.
내가 할 수있는 가능한 한 가지 방법은 클릭 이벤트를 수동으로 발사 할 때마다 클릭 대신 '클릭'을 사용하는 것이지만 해킹과 같은 느낌입니다. 어떤 아이디어?
apparrently jQuery는 독점 이벤트를 지원합니다. 따라서 $ dialogWidget.trigger ('click!')는 'click.namespace'이벤트가 아닌 'click'만 트리거합니다. 나는 이것의 반대가 필요하다. $ dialogWidget.bind ('click.namespace!')와 같은 것은 수동으로이 정규 이벤트를 실행하는 항목 만이 의미하는 것입니다. –