Internet Explorer中的KendoUI Grid错误

时间:2012-08-15 01:13:46

标签: asp.net asp.net-mvc html5 telerik kendo-ui

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

(我知道这是一个奇怪的情况,但我这样做是有原因的,只是说在设置网格多次出现错误时更容易简化问题)

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

它与数据源有关,因为如果你尝试这个version,我已经从网格中删除了数据源,它不再是错误。

任何人都可以提供有关此错误发生原因的任何指导吗?

由于

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

1 个答案:

答案 0 :(得分:0)

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

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中加载正常,没有错误。