最近,我遇到了这样一个问题:当浏览器的开发人员工具打开时,HTML按钮的onclick事件没有触发,但是在关闭工具时会触发:
<button type="button" data-bind="visible: !$root.LocalEventId(), click: StartEvent.bind($data, 'lunch')"
class="btn btn-success"><i class="fa fa-cutlery">
</i> Going to Lunch</button>
对我来说,这件事情有几个令人困惑的地方:
- 在IE、Chrome和Firefox中,当开发工具关闭时可以正常工作,但当开发工具打开时无法工作。
- 这种行为与网络上找到的所有其他相关问题恰好相反。有许多情况下,JavaScript事件仅在开发工具打开时才起作用,而在关闭开发工具后停止工作。其中大多数情况似乎与写入控制台有关。
- 同样的代码在iPad上的Safari上不稳定。在某些用户和某些情况下它无法工作,但在其他情况下它可以工作。
最终我终于找到了问题所在,请参见下面的答案。