Jquery 对话框打开时的奇怪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

这可能是一个很难回答的问题,因为很难证明问题1

我使用的是datatables+datatables,但我已经完全修改(并改进)了代码,这样当用户双击表中的一行时,就会打开一个带有表单的jQuery UI对话框,您可以在其中编辑该行。它使用一个表单完成两个任务,即添加和编辑

这在所有浏览器中都很好,除了,你猜对了:IE.
我发誓,这是我见过的最奇怪的行为

当您双击一行时,对话框不会显示,但是当您打开开发工具(F12)时,它会突然工作

澄清

  • 用户打开Internet Explorer(在本例中为IE9,但在早期浏览器上也会发生这种情况)
  • 用户浏览内部网
  • 用户双击数据表行。什么也没发生
  • 用户打开并关闭开发工具(F12)
  • 用户双击数据表行。对话框打开
  • 用户关闭选项卡,重新打开并再次导航到该选项卡。一切正常
  • 用户关闭internet explorer
  • 重复步骤1到8
  • 我无法调试这个问题,这很烦人,因为我一打开调试器它就消失了

    我最初认为问题是因为IE上的intranet站点默认在兼容性视图中打开,所以我更改了该设置,希望它能解决问题。
    事实并非如此

    而且,一旦开发工具打开,我刷新页面,就不会有错误或任何错误代码的迹象

    所以。。。 你怎么了


    1代码相当复杂,我不知道是否可以将其简化并进行演示。这是在内部网上完成的,使用的数据是保密的,因此我也不允许/不能直接向您展示。

    这可能不是您遇到问题的原因。但我以前在IE上见过类似的行为。罪魁祸首是代码中的一个迷路的
    控制台.log
    。在IE
    窗口中。控制台在开发工具打开之前不存在,在开发工具关闭之后,控制台将继续存在于
    窗口中。如果代码中有一个异常的
    console.log
    ,它可能会阻止对话框打开,因为
    console
    未定义的
    ,然后从您尝试调试它的那一刻开始

    如果您想测试这种可能性,但又不想找到流浪者,只需在文档顶部添加以下内容:

    if (!window.console) {
      this.console = {
        log: $.noop
      };
    }
    

    哇,打得好。你是对的。我有一个单独的
    console.log
    隐藏在
    datatables.jeditable.js
    文件中的数千行代码中,我一定已经忘记了。它位于
    .dialog(“open”)
    调用之前,该调用用于查看它是否触发了正确的操作(编辑或添加)。我向你表示感谢,并奖励你一次网络拥抱/握手/拳打和25分。酷。我强烈建议将该代码段放在所有javascript的顶部。我在我的个人工具包中使用它,从那时起,我可以在任意多的控制台日志中留下我喜欢的内容!