当开发人员工具打开时,Javascript onclick不会启动
我最近遇到了一个问题,当浏览器中的开发人员工具打开时,HTML按钮的onclick事件没有触发,但当工具关闭时它确实触发:当开发人员工具打开时,Javascript onclick不会启动,javascript,html,twitter-bootstrap-3,Javascript,Html,Twitter Bootstrap 3,我最近遇到了一个问题,当浏览器中的开发人员工具打开时,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> G
<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上不一致地失败了。有些用户和某些情况下,它不起作用,但在其他情况下,它确实起作用
我最终还是解决了这个问题。请参阅下面我的答案。这个问题有两个相互关联的原因:
- 由于我在所有浏览器中都将开发工具停靠在窗口的右侧,因此当我打开它们时,它们将窗口缩小到足以显示错误的程度。当我关闭开发工具时,窗口变宽了,bug消失了
- iPad上的Safari之所以不一致,是因为它取决于用户拿iPad的方式。如果他或她是在横向模式下举行,那么屏幕更宽,错误没有显示。如果他或她在肖像模式下拿着它,那么屏幕就会变得足够窄,以至于可以看到虫子
嵌套在
中,而不是反过来。当我将列放入行中时,错误消失了