有多种方法可以设置链接集合,以便在单击任何链接时点击功能return false;
,而不是多次编写return false;
?我仍然希望获得大多数链接return true
,因此显示代码return true
与return false
会特别受欢迎。
目标是编写更少的代码。我也想知道这是不是一个坏主意,我无法理解。
答案 0 :(得分:2)
最简单的方法是将一个事件侦听器绑定到文档,并检查目标:http://jsfiddle.net/gKZ7q/
document.addEventListener('click', function(e) {
if (e.target.nodeName.toUpperCase() === 'A') e.preventDefault();
}, false);
对于具有嵌套元素的锚点,您必须添加一个额外的循环:
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>