我使用<a>标签来构建按钮.我使用JavaScript(jQuery)来实现行为.
如何在继续执行所有click()事件的同时阻止浏览器跟踪链接?
这个:
$("a.button").live("click", function(event) { return false; });
Run Code Online (Sandbox Code Playgroud)
不起作用,因为,根据该处理程序的位置,它可能会阻止其他.click()处理程序执行.对于某些按钮,它可以按我的意愿工作,但对于某些按钮,它会阻止我的其他处理程序执行.
我知道我可以在每个按钮上使用单击处理程序,但我宁愿按照AOP方式进行操作.
jQuery提供了一个名为preventDefault的方法,它将停止事件的默认操作.有了这个,下面的代码将阻止链接被跟随,但不应该停止传播到其他处理程序.
$("a.button").click(function(event){ event.preventDefault(); });
Run Code Online (Sandbox Code Playgroud)