在我们的页面中,我们有一系列锚标签,我们动态地附加点击处理程序。在这种情况下,将锚标记保留在标记中的最佳方法是什么?
目前我们有
<a href="javascript:void(0);" >....</a>
我们需要href的void值,因为其中一些可能无法附加点击处理程序。
答案 0 :(得分:1)
从jQuery事件处理程序返回false将阻止默认行为(和冒泡)为您。没有必要弄乱href
属性(尽管这不会有害)。
$(document).on("click", "a.yourSelector", function(){
//your code
return false;
});
当然还有jQuery pre 1.7
$(document).delegate("a.yourSelector", "click", function(){
//your code
return false;
});
有关取消dom事件的详细信息,请参阅this question (and answer)和this link
答案 1 :(得分:0)
省略href-attribute并在分配onclick时也将元素的光标样式设置为“pointer”,否则在点击元素时没有任何反应的JS用户将会感到困惑。
答案 2 :(得分:0)
更简单的代码是这样的:
<a href='#' class='do-stuff'>Link</a>
“#”符号使html代码保持干净,可读
jQuery(document).ready(function() {
jQuery(".do-stuff").click(function() {
alert("clicked");
return false; // disables default link action
});
});