return false;
有没有一种方法可以设置链接集合,而不是多次编写,这样如果点击其中任何一个,点击功能会return false;
?我仍然希望拥有大多数链接return true
,以便显示将return true
与return false
将特别感谢的代码。
目标是编写更少的代码。我也想知道这是否是一个坏主意,因为我无法理解。
return false;
有没有一种方法可以设置链接集合,而不是多次编写,这样如果点击其中任何一个,点击功能会return false;
?我仍然希望拥有大多数链接return true
,以便显示将return true
与return false
将特别感谢的代码。
目标是编写更少的代码。我也想知道这是否是一个坏主意,因为我无法理解。
最简单的方法是将一个事件监听器绑定到文档,并检查目标: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>