表单元素无法集中

时间:2013-11-26 01:24:51

标签: javascript jquery html css

我正在开发一个涉及相当庞大且笨拙的代码库的项目。在jquery可拖动窗口小部件中,有几个隐藏的div在单击某些菜单按钮时显示。其中一个包含许多表单元素,包括输入和选择框。

问题是点击任何这些表单元素绝对没有任何意义。如果我向onclick事件,onmousedown事件或onmouseup事件添加警报,则会触发。但是,onfocus事件不会触发。我可以通过Tab键来关注元素。

我的猜测是某个地方出现了“preventDefault”或“return false”,但是我已经多次搜索了近10,000行JQuery / JS,发现似乎没有任何与此问题相关的内容;代码库太大,无法逐行读取,除非作为最后的努力。我也试过在这个帖子中搜索了许多建议:HTML input fields does not get focus when clicked

我不知道下一步该尝试什么。我以前从未见过这样的东西。有没有办法查看给定元素的所有事件列表?我在Chrome或FF检查器中找不到此选项。在这些浏览器中是否有办法让它记录所有被激活的事件及其结果?我尝试了以下但只返回了一个键盘或更改事件(取决于我点击的那个):

 console.log($(this).data('events'))

如何解决此类问题?

1 个答案:

答案 0 :(得分:2)

有两件事可能会有所帮助。

在Chrome中 - > 右键单击 - > 检查元素,在右侧有一个“事件监听器”标签,显示该元素的所有内容。
(您可能会看到很多其他Chrome扩展程序将事件绑定到所有内容,隐藏或禁用所有扩展程序会在您调试问题时将其清除)

捕获事件的另一种方法是:

在Chrome中 - > F12 - > 来源标签 - >并在右侧按暂停按钮 | | 然后从那时开始执行的第一个javascript将在相应代码中的行上中断执行,以便您可以单步执行。