0

我收到一个奇怪的错误,它只发生在我的 Internet Explorer (v9.0.8) 中的 Web 应用程序中。当我尝试在 div 上多次实例化网格时会发生这种情况。

(我知道这是一个奇怪的情况,但我这样做是有原因的,并且通过多次设置网格时发生错误来简化问题更容易)

我在 jfiddle here中重现了这个问题。您将看到网格开始加载良好。但是,当您单击“单击我”按钮时,网格会再次设置,如果您检查控制台窗口,则会显示错误消息“SCRIPT65535:无效调用对象 kendo.all.min.js,第 8 行字符 73742”。

它与数据源有关,因为如果您尝试这个我从网格中删除数据源的版本,它不再出错。

任何人都可以就为什么会发生此错误提供任何指导吗?

谢谢

更多信息.. 我执行此任务的原因是因为它是一个单页应用程序。因此,当我移动到另一个页面时,我正在动态地对屏幕上的内容进行分页。当我返回列表页面时,我必须调用设置列表来刷新网格。我添加了另一个 jfiddle 在这里展示这个例子。当您单击“单击此处刷新 HTML”时,它会重置 div 中的 html,然后设置网格。如果您查看 IE 的控制台,您会看到 SCRIPT5022: DOM Exception: NOT_FOUND_ERR (8) 错误。

4

1 回答 1

0

所以我只能猜测为什么你会收到这个错误而不看源代码,但是你可以通过在重新插入之前删除网格来轻松绕过这个问题。我在您的方法内的#grid 选择器上使用了jQuery remove 方法TestRefreshHtml(),一切正常。

function TestRefreshHtml()
{
    alert('in refresh');

    //Remove the grid before initializing a new one
    $('#grid').remove();

 $('#content').html('<div id="grid"/><button id="buttonClickTest">Click Me</Button><button id="buttonClickTest2">Click Me To Refresh HTML</Button>');

SetupGrid();
}

我认为这个问题可能与多次使用 id 有关,但我并不肯定。我在您的第二把小提琴中测试了此修复程序,并且网格在 IE 中加载良好,没有错误。

于 2012-08-28T02:24:23.830 回答