javascript - 只需写入 "return false"一次即可处理多个链接的点击

标签 javascript refactoring return

有一种方法可以设置链接集合,这样如果单击其中任何一个链接,则单击函数将返回 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/

相关文章:

javascript - meteor 更新集合对象的嵌套属性

javascript - 如何从 &lt;script&gt; 中确定参数?

javascript - 如何在 localStorage 中保存复选框状态

Python:子类可以重载继承的方法吗?

java - 如何使这个输出成为 boolean 值?

python - python中的返回语句

javascript - 有没有办法允许 CKEditor5 的所有 html 属性或使用通配符?

c++ - 如果 `f` 具有非空返回类型,则返回 `f` 的结果——如何重构此模式?

ruby-on-rails - ruby on rails 程序员会重构吗?

python - 从Python中的递归函数返回