我一直被以下情况所困扰。
首先,我向页面的所有元素添加了click-event处理程序,这将调用一个小的弹出窗口。我无法将popup从这个*-选择器中分离出来,因此它会在popup中打开popup,依此类推。
我尝试过以下几种方法:
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');
有没有任何提示来隔离这个问题。除了弹出窗口中的元素之外,您的Heikki还需要使用click处理程序
发布于 2014-09-20 13:02:46
我认为您需要做的是将一个单击事件处理程序附加到主体,并将一个单击事件处理程序附加到.popup。主体单击处理程序将打开弹出窗口。.popup单击处理程序将捕获该事件,这样它就不会传播到body元素。
var controller = can.Control.extend({
'click': function ($el, event) {
/* open popup now */
},
'.popup click': function ($el, event) {
event.stopPropagation();
}
});
https://stackoverflow.com/questions/25948768
复制