我正在开发一个非常复杂的 HTML5 应用程序(主干、牵线木偶、jQuery、下划线、车把、引导程序等),并且在应用程序的深处是一个带有表单的模态弹出窗口。
当模式弹出打开时,第一次单击任何表单域时,表单域会自行取消选择。在第一次单击之后,您可以正常使用表单。当应用程序最终加载到生产中的 iFrame 中时(不要问),当您第一次单击任何表单字段或将鼠标悬停在任何按钮上时,整个页面会向下滚动,直到表单位于 div 元素的顶部模态框位于页面顶部,但是在它执行一次之后,它不会再执行一次(感到困惑吗?是的,它很复杂且分层)。
我什至不知道如何开始调试这个问题(数千行代码,两个库)。
我试过这些:
console.log('bound events: ', $._data(this.$el.find('#RandomFieldID')[0], 'events'));
console.dir($('#elmId').data('events'));
console.log('bound events: ', $._data($('body')[0], 'events'));
但这没有产生任何结果。
由于这是一个库上的库上的框架,我什至不确定从哪里开始尝试找到明显绑定到这些字段的东西,或者即使它是绑定到的字段或完全其他的东西。 ..
因此,任何关于如何调试神秘绑定的 Javascript 事件的好策略的建议(使用多个 JS 库和框架,在问题解决之前不能只是注释掉,因为它们甚至可以让 HTML 出现在第一页)?
而且,不幸的是我不能做一个 jsfiddle 什么的,因为正如我所说,这在应用程序的深处,我基本上必须在 JSFiddle 内重新创建应用程序(不可能)以链接到一个示例(和,它不在面向外部的站点中,所以我不能在生产中直接链接到它)。
我难住了。