我正在修复:active
我的移动页面上按钮的状态,如下所示:
$('body').on('touchstart', 'a', function (e) {
$(this).addClass("active");
}).on('touchend touchcancel click', 'a', function (e) {
$(this).removeClass("active");
});
这种委托/冒泡方法效果很好,因为我正在做很多动态页面操作,我不想不断地重新应用这个 hack。
但是,现在我有一些额外的代码,如下所示:
$('a#MyAnchor').click(function(e){
e.preventDefault();
// do something
return false;
});
这当然会阻止第一个块工作:(有一个优雅的解决方案吗?
我知道我可以将 hack 重新应用于#MyAnchor
,但这很难看。
有没有办法防止点击<a>
导致导航,但允许点击事件仍然传播到 DOM?
奖励:我是否也可以阻止click
附加到#MyAnchor
的其他显式处理程序触发,但仍允许向上传播 DOM?