2015-04-06 85 views
0

我已阅读jQuery的自定义事件文档。正当我开始明白,你可以自己触发的自定义事件,并像一个链接或类似点击窗口自己的标准事件的元素,滚动或调整....jquery自定义事件混淆

我是在我从unveil.js阅读代码混淆 在底部有如下代码:

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

什么是这些事件做的和他们在哪里设置/触发? 什么是lookup.unveil上的“查找”事件。

回答

1

这些都是namespaced jQuery events

在jQuery的事件可以被命名空间,使他们独特和更容易使用。
一般来说你,如果你想从一个元素删除事件和你做

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

你会从所有删除事件添加一个click事件这样

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

但什么元素,所以你可以命名空间中的事件,而不是

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

的名称并不重要,它仍然是一个click事件,但现在可以重新移动,而不会影响其他元素也有click事件做

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

触发此类事件的选择匹配,一个只想做

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

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

在jQuery的一个还可以自定义事件,您可能知道,如果你阅读Custom Events docs,并在.unveil只是该插件的自定义命名空间是因为这样做

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

一样容易。该事件可以在适当的时候通过做出触发

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

因为它不是本机事件,所以它不会被其他事件触发。