【问题标题】:if statement around onclickonclick 周围的 if 语句
【发布时间】:2012-03-26 20:50:48
【问题描述】:

单击按钮时忽略正在运行的代码的最佳方法是什么?我正在尝试以下操作,但目前我没有反应我希望它如何完成。

if (!document.getElementById('btn_Cancel').getAttribute('onclick')) {
      // code not to be ran when button is clicked
         By default code gets ran when a textbox goes onblur so do not want that code ran when button gets clicked
}

【问题讨论】:

  • "忽略运行代码?" “不运行代码?”什么?你实际上想做什么?
  • 当您单击按钮时,您希望运行代码吗?我不确定我是否理解,您能详细说明一下吗?
  • 您通常指定要在事件处理程序中运行的代码...如果您不希望执行代码,就不要放在那里!
  • 如果你不想让代码运行你点击一个按钮,不要将它添加到处理程序中。

标签: javascript onclick getelementbyid


【解决方案1】:

您将要引用该元素,因此您不会在每次单击它时都查找它,并且您需要一个变量来跟踪它是否被单击:

var cancelButton = document.getElementById('btn_Cancel'),
    clicked = false;

cancelButton.addEventListener('click', function() { clicked = !clicked; }, false); 

// assuming this is in a loop or something:
if(!clicked) { 
    // running code 
}
else {
   // clicked, do nothing
}

【讨论】:

  • 这看起来像我要找的。但是,我似乎无法从 clicked = !clicked; 函数中得到任何响应。是 ;/
猜你喜欢
  • 1970-01-01
  • 2020-05-01
  • 2020-12-23
  • 1970-01-01
  • 2017-04-28
  • 1970-01-01
  • 1970-01-01
  • 2014-01-07
  • 2021-10-30
相关资源
最近更新 更多