JQuery 对自定义事件有很好的支持 - .bind("foo", function(e)...
. 但是,如果触发事件的机制还没有准备好并且只能在那些绑定了事件的元素上构建呢?
例如,我想要一个scrollin
在元素滚动到视口时触发的事件。为此,我onscroll
必须检查所有元素以及trigger
scrollin
那些在视口之外而现在在视口内的元素。这是不可接受的。
有一些技巧可以加快速度。例如,其中一个插件会检查“私有”$.cache
中的所有元素,并且只检查那些scrollin
绑定了事件的元素。
但这也很丑陋。我需要的是一个额外的事件绑定回调(除了处理回调之外),它将负责滚动管理,即将元素放入某个elementsCheckOnScrol
缓存数组中。
我正在寻找类似的东西:
$.delegateBind("scrollin", function(jqSelection) { ... });
element.bind("scrollin", function(e) {..}); //Calls ^ after internal bind management
编辑:这将是不错的 api!
$.bind("bind", function(onWhat) { ... })
:-)