javascript - 使用 jquery 命名空间多个事件 "on"

标签 javascript jquery

<分区>

想知道使用 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);
    }
});

虽然它似乎有效,但我无法确认,因为我不在我的机器上。试一试。

关于javascript - 使用 jquery 命名空间多个事件 "on",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14408692/

相关文章:

javascript - jquery 转换在父级以下失败。为什么?我该怎么办?

javascript - 这两个javascript对象有什么区别

javascript - 在 HTML 表中设置类,但不是针对整个列

javascript - AngularJs 1.x 无法与 SemanticUI.js 一起使用

jquery - 将图像容器高度调整为某个值的倍数(加载、方向更改和调整大小时)

javascript - Fancybox iframe 内容 - 如何从父级访问 CSS?

javascript - 如何在给定本地 url 的情况下使用 OffscreenCanvas 在 webworker 中调整图像大小并将调整大小的数据返回到主线程?

javascript - 在 jQuery.ajax 的 beforeSend 中加载异步内容

javascript - 如何让 svg 图标在 spring-boot :run 后出现

jquery - Bootstrap 模态未显示但似乎已打开