canjs:事件触发器中的非选择器
我一直坚持以下情况。canjs:事件触发器中的非选择器
1st我将点击事件处理程序添加到页面的所有元素,它调用一个小的弹出窗口。我无法从这个*选择器中分离弹出窗口,因此它会打开弹出窗口,等等。
我已经试过如下:
var controller = can.Control.extend({ '*:not(.popup *) click': function(el, event) { //This does not work
$(el).openPopUp()
//pseudo code, opens the popup in to <div class"popup"><input /><input /></div>
},
});
var c = new controller('body');
是否有隔离这个问题的任何提示。真正需要的点击处理程序内弹出的元素旁边的所有其他元素, 此致 科瓦莱宁
回答:
我认为你需要做的是点击事件处理程序附加的身体和一个点击事件处理到.popup。 body click处理程序将打开弹出窗口。 .popup点击处理程序将捕获该事件,以便它不会传播到body元素。
var controller = can.Control.extend({ 'click': function ($el, event) {
/* open popup now */
},
'.popup click': function ($el, event) {
event.stopPropagation();
}
});
以上是 canjs:事件触发器中的非选择器 的全部内容, 来源链接: utcz.com/qa/263308.html