res*_*ion 8 jquery jquery-plugins
问题概述
在jQuery中,绑定处理程序的顺序是在绑定到同一元素时它们将被执行的顺序.
例如:
$('#div1').bind('click',function(){
// code runs first
});
$('#div1').bind('click',function(){
// code runs second
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我希望第二个绑定代码先运行怎么办?
.
我目前的解决方案
目前,我的解决方案是修改事件队列:
$.data(domElement, 'events')['click'].unshift({
type : 'click',
guid : null,
namespace : "",
data : undefined,
handler: function() {
// code
}
});
Run Code Online (Sandbox Code Playgroud)
.
题
我的解决方案有什么问题吗?
我可以安全地使用null作为guid的值吗?
提前致谢.
.
有一个有趣的插件,称为eventstack。它允许您将事件绑定到事件队列的顶部或底部。我不知道您的问题有多普遍,也不知道您是否想要反转或任意排序堆栈中的事件,但该插件可能会简化您的任务。
如果您希望以非常特定的顺序组装队列,您可以尝试此答案中建议的方法- 构建可以依次触发彼此的自定义事件。
您的方法可能最适合您的要求,但也许这些也是选择。
| 归档时间: |
|
| 查看次数: |
5869 次 |
| 最近记录: |