【问题标题】:Confused with this execution style in Javascript对 Javascript 中的这种执行方式感到困惑
【发布时间】:2015-07-21 07:17:51
【问题描述】:
<!DOCTYPE html>
<html>
<body>

<button id="btn" type="button">Click Me!</button>
<button id="btn2" type="button" onclick="adsds();">Click Me 2!</button>

</body>
<script>

document.getElementById("btn").onclick = function(){alert('Hello world!') };

function adsds()
{
alert();
document.getElementById("btn").onclick = return false;
}

</script>
</html>

谁能帮我理解这个执行。函数 adsds() 不执行,但如果我删除 'document.getElementById("btn").onclick = return false;',它工作正常。谢谢。

【问题讨论】:

  • document.getElementById("btn").onclick = return false; 不是有效的 JavaScript。
  • 哇,谢谢。当我将它包裹在 anon 函数上时,它可以工作。
  • 这恰好是我的答案:D
  • 现在如何将其标记为答案? :D
  • 每个答案的投票计数旁边都有一个“复选标记”,单击它以接受您选择的答案。当问题 至少存在 15 分钟时,可以接受答案。 (所以,您必须在 ~10 内再次查看)

标签: javascript


【解决方案1】:

document.getElementById("btn").onclick = return false; JavaScript 无效:

Uncaught SyntaxError: Unexpected token return

您可能想改用这个:

document.getElementById("btn").onclick = function(){
    return false;
};

然后,当单击"btn" 元素时,您实际上会返回false

【讨论】:

    【解决方案2】:

    检查你的调试控制台,你有语法错误。这不是有效的 JavaScript 代码。

    document.getElementById("btn").onclick = return false;
    

    详细了解Document.getElementById 方法以了解如何使用它。

    【讨论】:

      【解决方案3】:

      Cerbrus 是对的,或者你可以在前面定义函数:

      function returnFalse() {
          return false;
      }
      document.getElementById("btn").onclick = returnFalse();`  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-14
        • 1970-01-01
        • 1970-01-01
        • 2015-07-13
        • 1970-01-01
        • 1970-01-01
        • 2022-08-13
        相关资源
        最近更新 更多