在我们的页面中,我们有一大堆锚点标签,我们动态地附加点击处理程序。在这种情况下,最好的办法是在标记中保留锚标签?好的方法来保持没有默认网址的锚标记
目前我们有
<a href="javascript:void(0);" >....</a>
我们需要HREF空值作为他们中的一些可能不会得到重视与点击处理程序。
在我们的页面中,我们有一大堆锚点标签,我们动态地附加点击处理程序。在这种情况下,最好的办法是在标记中保留锚标签?好的方法来保持没有默认网址的锚标记
目前我们有
<a href="javascript:void(0);" >....</a>
我们需要HREF空值作为他们中的一些可能不会得到重视与点击处理程序。
Ommit中的href属性和分配的onclick时也设置光标将元素的样式指向“指针”,否则禁用JS的用户会在点击元素时感到困惑,并且什么都不会发生。
比较与href和没有href锚点,是光标:指针风格唯一的区别?在我看来,收到了href,不知道它在不同浏览器中的表现如何。 – ChrisOdney 2012-01-05 15:21:30
在这种特殊情况下我没有看到任何区别,你只使用href-attribute来获得特殊的光标,这可以使用CSS来完成(事实上,你不需要使用'-lelement'可以是任何元素) – 2012-01-05 22:15:42
从jQuery事件处理函数返回false将阻止默认行为。没有必要混淆href
属性(尽管这不会造成伤害)。
$(document).on("click", "a.yourSelector", function(){
//your code
return false;
});
当然还是jQuery的预1.7
$(document).delegate("a.yourSelector", "click", function(){
//your code
return false;
});
欲了解更多有关取消DOM事件,看到this question (and answer)和this link
http://stackoverflow.com/questions/1357118/javascript-event-preventdefault-vs-return-false – 2012-01-05 06:31:20
@rfausak - 谢谢 - 添加到我的答案 – 2012-01-05 06:49:13
的简单的代码会是这样的:
<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
});
});
绝对_best_东西放在href属性将明显是一个执行JS事件处理程序所执行的相同操作的URL。编辑:如果这是不可能的,然后使用#。 – powerbuoy 2012-01-05 06:16:48
当有人点击它时,使用#是一个问题。 – ChrisOdney 2012-01-05 15:18:33
那么你必须通过从事件处理程序返回false或使用事件对象的'preventDefault()'方法来阻止链接的默认行为。 – powerbuoy 2012-01-05 18:03:26