jQuery如何设置绑定顺序
jQuery how to set a Binding Order
有没有办法将绑定设置为优先级?
我有一个这样的链接:
<a href="" class="popItUp" data-track"stuff"> </a>
popItUp绑定以获取url并在弹出窗口中打开。
数据跟踪是用于发送事件跟踪数据的另一个绑定。
问题:popItUp返回false,并且永远不会触发数据轨道绑定。有没有一种方法总是让jQuery先运行数据跟踪,因为它总是返回true?
感谢
代码
// Mixpanel Click Tracking
$('[data-track]').live('click', function () {
console.log('track it please');
});
$('.popItUp').popupWindow({height:300,width:600,centerBrowser:1});
popUpWindow是一个插件:http://swip.codylindley.com/popupWindowDemo.html
与其返回false,为什么不简单地阻止默认操作呢?
$('.popItUp').click(function(e)
{
e.preventDefault();
// Do Stuff
});
这样,事件就不会被取消,只是不会执行默认操作。
如果首先绑定了popItUp
处理程序,如果是returns false
,则不会调用data-track binding
。如果你想给data-track binding
更多的优先级,而不管popItUp
做什么,你需要先绑定它。
看看您编辑过的问题,data-track binding
是使用live
完成的,它使用事件冒泡机制。如果popItUp
处理程序returns false
,则它将不起作用。您可以尝试使用锚的e.preventDefault();
来防止默认行为,而不是在popItUp
处理程序中返回false。
live
的工作原理是捕获冒泡到<body>
标记的事件。
因此,任何直接添加到元素的处理程序都将在live
处理程序之前运行
在直接处理程序内部调用stopPropagation()
(或return false
(将防止其冒泡,因此live
不会捕获它。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- AngularJS指令只识别双向绑定类型
- AngularJs一次绑定和布尔运算符的值顺序
- Javascript中绑定到事件的函数的执行顺序
- Knockoutjs:同时使用单击和选中绑定时绑定评估的顺序
- 以不正确的顺序从绑定中删除2.0参数
- 敲除绑定顺序/不带可观察性
- Jquery,绑定顺序/等待回调
- 按不同顺序绑定参数
- 设置绑定脚本的执行顺序
- jQuery如何设置绑定顺序
- Backbone.js中视图绑定的事件顺序是什么