不引人注目的JS(MVC3)导致延迟的DOMContentLoaded事件

时间:2012-08-07 17:25:36

标签: asp.net-mvc-3 performance unobtrusive-validation

尽管从$ .Ready()中删除了我的所有代码,但jquery.validate.unobtrusive.js似乎在加载代码上调用了一些问题,这导致我们的DOMContentLoaded事件的启动时间为300毫秒。

我们确实有一个非常大的DOM,但肯定不应该花那么长时间吗?

1 个答案:

答案 0 :(得分:2)

虽然在我正在处理的产品上处理一些性能龙,但似乎我的DOMContentLoaded事件在IE 9中占用了700毫秒(我们有一个非常大的DOM - 这也在我的列表中解决)

禁用所有OnReady代码后 - 我将其缩小

parse(selector)

中的

jquery.validate.unobtrusive.js

找到后:

$(selector).find(":input[data-val=true]").each(function () {...}我立刻知道Find()方法中选择器的结构,这将进入sizzle引擎,而不是使用Document.QuerySelectorAll()

- 根据@CharlesC的评论进行编辑 -

将选择器稍微更改为:

$(selector).find("input, select, textarea").filter("[data-val=true]")导致IE内的性能提升300ms。