Jquery 对话框打开时的奇怪IE行为
这可能是一个很难回答的问题,因为很难证明问题1 我使用的是datatables+datatables,但我已经完全修改(并改进)了代码,这样当用户双击表中的一行时,就会打开一个带有表单的jQuery UI对话框,您可以在其中编辑该行。它使用一个表单完成两个任务,即添加和编辑 这在所有浏览器中都很好,除了,你猜对了:IE.Jquery 对话框打开时的奇怪IE行为,jquery,internet-explorer,cross-browser,datatables,jquery-ui-dialog,Jquery,Internet Explorer,Cross Browser,Datatables,Jquery Ui Dialog,这可能是一个很难回答的问题,因为很难证明问题1 我使用的是datatables+datatables,但我已经完全修改(并改进)了代码,这样当用户双击表中的一行时,就会打开一个带有表单的jQuery UI对话框,您可以在其中编辑该行。它使用一个表单完成两个任务,即添加和编辑 这在所有浏览器中都很好,除了,你猜对了:IE. 我发誓,这是我见过的最奇怪的行为 当您双击一行时,对话框不会显示,但是当您打开开发工具(F12)时,它会突然工作 澄清 用户打开Internet Explorer(在本例中为I
我发誓,这是我见过的最奇怪的行为 当您双击一行时,对话框不会显示,但是当您打开开发工具(F12)时,它会突然工作 澄清
事实并非如此 而且,一旦开发工具打开,我刷新页面,就不会有错误或任何错误代码的迹象 所以。。。 你怎么了
1代码相当复杂,我不知道是否可以将其简化并进行演示。这是在内部网上完成的,使用的数据是保密的,因此我也不允许/不能直接向您展示。这可能不是您遇到问题的原因。但我以前在IE上见过类似的行为。罪魁祸首是代码中的一个迷路的
控制台.log
。在IE窗口中。控制台在开发工具打开之前不存在,在开发工具关闭之后,控制台将继续存在于窗口中。如果代码中有一个异常的console.log
,它可能会阻止对话框打开,因为console
是未定义的
,然后从您尝试调试它的那一刻开始
如果您想测试这种可能性,但又不想找到流浪者,只需在文档顶部添加以下内容:
if (!window.console) {
this.console = {
log: $.noop
};
}
哇,打得好。你是对的。我有一个单独的console.log
隐藏在datatables.jeditable.js
文件中的数千行代码中,我一定已经忘记了。它位于.dialog(“open”)
调用之前,该调用用于查看它是否触发了正确的操作(编辑或添加)。我向你表示感谢,并奖励你一次网络拥抱/握手/拳打和25分。酷。我强烈建议将该代码段放在所有javascript的顶部。我在我的个人工具包中使用它,从那时起,我可以在任意多的控制台日志中留下我喜欢的内容!