最好的方法是什么?为什么?
引用文献?
<a href="javascript:helloworld()">link</a>
点击?
<a href="#" onClick="helloworld()">link</a>
通过框架(例如jquery)绑定(bind)?
<a id="foo" href="#">link</a>
…
$('#foo').live('click',helloworld);
最佳答案
这要看情况。通常,您永远不应该拥有不执行任何操作的链接。如果您的用户禁用了 JavaScript,或者 JavaScript 无法加载怎么办?您必须优雅地降级才能拥有可访问的网站。因此,举例来说,如果您有一个使用 Ajax 加载的框,您应该将其链接到另一个页面,然后在不显眼的单独 JavaScript 中绑定(bind)处理程序:
<a class="loadPage" href="actualPage.php">Go to my page</a>
以及另一个文件:
$('.loadPage').click(function(e) {
// Load with Ajax...
e.preventDefault(); // Stop the link from going through
});
如果链接是使用 JavaScript 生成的,那么大多数情况下可以使用 #
作为 href
。但是,在这种情况下,您仍然应该使用 JavaScript 附加处理程序,而不是在 innerHTML
中设置 onclick
(*颤抖*)。
因此,一般来说:如果您的 HTML 中的生产代码中有 onclick
属性或 javascript:
链接,那么您就不会分离内容、行为和呈现;你不方便接近;而且你没有语义。不要这样做!
关于javascript - 将 JS 事件绑定(bind)到链接的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780023/