有一种方法可以设置链接集合,这样如果单击其中任何一个链接,则单击函数将返回 false;
,而不是多次编写 return false;
?我仍然希望大多数链接都返回 true
,因此显示返回 true
与 返回 false
的代码将受到特别赞赏。
目标是编写更少的代码。我还想知道这是否是一个坏主意,因为我无法理解。
最佳答案
最简单的方法是将一个事件监听器绑定(bind)到文档,并检查目标:http://jsfiddle.net/gKZ7q/
document.addEventListener('click', function(e) {
if (e.target.nodeName.toUpperCase() === 'A') e.preventDefault();
}, false);
对于具有嵌套元素的 anchor ,您必须添加一个额外的循环:
var targ = e.target; do { if (targ.nodeName.toUpperCase() === 'A') { e.preventDefault(); break; } } while ((targ = targ.parentNode) !== document.documentElement); // document.body should be fine. Using document.documentElement in case // that a fool places an anchor outside the <body>
- 链接也可以通过按键事件触发。
关于javascript - 只需写入 "return false"一次即可处理多个链接的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10470526/