jquery自定义事件混乱

时间:2015-04-06 21:35:07

标签: javascript jquery events

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

当我从unveil.js阅读代码时,我很困惑 在底部有以下代码:

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

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

1 个答案:

答案 0 :(得分:1)

那些是namespaced jQuery events

在jQuery中,事件可以被命名空间,使它们变得独特且易于使用 通常你会添加像这样的点击事件

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

但是如果你想从一个元素中删除事件并且你做了

,该怎么办?
$('.element').off('click', fn);

您将从所有元素中删除该事件,因此您可以将事件命名为

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

名称无关紧要,它仍然是click事件,但是现在可以删除它而不影响与选择器匹配的其他元素,这些元素也有<{1}}事件

click

触发这样的事件,人们就会做

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

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

在jQuery中,我们也可以定义自定义事件,如果你阅读了Custom Events docs,你可能知道这些事件,而且它就像做

一样简单
$('.element').trigger('click.custom');

其中$('.elements').on('lookup.unveil', fn); 只是插件的自定义命名空间,可以通过

在适当的时间触发该事件
.unveil

因为它不是原生事件,所以它并没有被其他任何东西触发。