我已经阅读了jQuery的自定义事件文档。就在我开始了解到您可以自己触发这些自定义事件,并且链接或窗口等元素拥有单击、滚动或调整大小等标准事件时......
当我读unveil.js的代码时我很困惑 底部有以下代码:
$w.on("scroll.unveil resize.unveil lookup.unveil", unveil);
这些事件在做什么以及它们在哪里设置/触发? 以及lookup.unveil 中的“查找”事件是什么。
最佳答案
在 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/