<分区>
想知道使用 jquery“on”为多个事件命名空间的正确方法是什么......
例如:
$(".parent-selector").on({
"mouseenter.namespace": function() {
// mouseenter event
},
"mouseleave.namespace": function() {
// mouseleave event
}
}, ".selector");
这是行不通的...如果我删除“.namespace”它确实有效。
带有工作命名空间的 jquery on 示例:
$(".parent-selector").on("mouseenter.namespace", ".selector", function() { });
我知道我可以分别执行 mouseenter/mouseleave 事件...只是好奇是否有办法通过对象传递命名空间
谢谢!
要附加到多个事件,您必须传递以空格分隔的事件列表:
$(".parent-selector").on("mouseenter.namespace mouseleave.namespace",
".selector", function() { });
编辑:
您始终可以在回调中获取事件的类型并在其中调用其他函数:
$(".parent-selector").on("mouseenter.namespace mouseleave.namespace", ".selector", function(e) {
if (e.type == "mouseenter.namespace") {
myMouseEnter(e);
} else if (e.type == "mouseleave.namespace") {
myMouseLeave(e);
}
});
虽然它似乎有效,但我无法确认,因为我不在我的机器上。试一试。