我用
href="javascript:void(0)"
禁用href属性,然后使用onclick为我的锚元素提供功能。我该如何以编程方式执行此操作。
答案 0 :(得分:3)
当你说“在xhtml中运行,而不是在javascript中运行”时,不确定你的意思。
如果要禁用链接,可以使用return false取消默认操作。
<a href="http://www.apple.com" onclick="return false;">Apple</a>
更新 - 在函数的上下文中
<a href="/mypage.html" onclick="myFunction();">My Page</a>
<a href="/mypage.html" onclick="myFunction2(); return false;">My Page</a>
<script>
function myFunction() {
//do all the javascript stuff i want
return false;
}
function myFunction2() {
//do all the javascript stuff i want
}
</script>
答案 1 :(得分:3)
如果可能的话,有几个问题。
我建议采用不引人注目的方法
我不会使用return false。它可能有意想不到的结果。快速谷歌搜索将有更多信息。
使用preventDefault()删除默认功能。
https://developer.mozilla.org/en/DOM/event.preventDefault
编辑:
如果您不确定如何不引人注意地控制click事件,那么addEventListener()就是您所追求的。你可以从那里控制一切,包括preventDefault() https://developer.mozilla.org/en/DOM/element.addEventListener
答案 2 :(得分:2)
不要将javascript放在href中。单独留下href。在onclick中执行您想要的操作,只需确保它返回false(以便不执行默认链接操作)。请记住,在新标签/窗口中打开链接的人不会执行您的代码 - 他们只需打开href下的链接。
如果根本没有href是有意义的,你也可以点击任何其他元素,而不仅仅是。