javascript - jquery自定义事件困惑

标签 javascript jquery events

我已经阅读了jQuery的自定义事件文档。就在我开始了解到您可以自己触发这些自定义事件,并且链接或窗口等元素拥有单击、滚动或调整大小等标准事件时......

当我读unveil.js的代码时我很困惑 底部有以下代码:

$w.on("scroll.unveil resize.unveil lookup.unveil", unveil);

这些事件在做什么以及它们在哪里设置/触发? 以及lookup.unveil 中的“查找”事件是什么。

最佳答案

这些是 namespaced jQuery events

在 jQuery 中,事件可以命名以使其独特且更易于使用。
通常您会添加这样的点击事件

$('.element').on('click', fn);

但是如果您只想从一个元素中删除事件,并且您确实这么做了,该怎么办

$('.element').off('click', fn);

您需要从所有元素中删除该事件,这样您就可以为该事件命名

$('.element').on('click.custom', fn);

名称并不重要,它仍然是一个 click 事件,但现在可以将其删除,而不会影响与也具有 click 事件的选择器匹配的其他元素正在做

$('.element').off('click.custom', fn);

要触发这样的事件,只需这样做

$('.element').trigger('click.custom');

它也可以通过常规点击触发,就像任何点击处理程序一样。

在 jQuery 中,还可以定义自定义事件,如果您阅读过 Custom Events docs,您可能知道这一点。 ,就像做一样简单

$('.elements').on('lookup.unveil', fn);

其中 .unveil 只是插件的自定义命名空间,可以通过执行以下操作在适当的时间触发该事件

$('.elements').trigger('lookup.unveil');

由于它不是 native 事件,因此它不会真正被其他任何事件触发。

关于javascript - jquery自定义事件困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480076/

相关文章:

c# - StackOverflowException 在 C# 中处理事件

javascript - 如何修改浏览器中加载的网页元素

c# - 在 Control.KeyUp 事件中检测 Alt 键时出现问题

javascript - 如何提交包含相关字段列表的表单?

jquery - 脚本仅在页面重新加载时工作

javascript - 递归循环节点的子节点

javascript - AngularJS 中的克隆元素

javascript - 如何打开 <input type ='file' > 中的特定文件夹

javascript - 获取附近的景点,给定纬度、经度和半径

立即调用 Javascript onclick 函数(不是在单击时调用)?