0

将 Javascript 事件绑定到我的自定义 MVC 控件的最佳方法是什么?我最初的想法是使用 Html Helpers 创建控件,它为它们提供一个 CSS 类,表示它们是什么类型的控件。然后,在 上document.ready,我将使用 jQuery 按类名选择所有此类控件并绑定它们的事件。

但是,我担心按类名从整个 dom 中进行选择的速度。我已经阅读(并经历过)这可能有多慢,尤其是在我们需要针对该项目的 IE8 中。

我可以通过为每个页面创建一个 js 文件来按 ID 进行选择,但我不想这样做,因为它是一个包含很多页面的复杂 Web 应用程序。如果视图包含至少一种类型的控件,我宁愿为包含在视图中的每种类型的控件创建一个 js 文件。

CSS 类是我最好的选择吗?还有其他想法吗?我正在使用 MVC3。

4

1 回答 1

2

我的建议是通过课程进行尝试并测试性能。如果您不满意,请切换到 ID。我一直使用类选择器,并且在任何浏览器中都没有发现它们非常慢。当你给 jquery 一个上下文来搜索时,事情会很快。例如:

$('#controls .control').whatever();

或者

$('.control', '#controls').whatever();

Sizzle 非常擅长优化这些东西以提高速度。

编辑:这里是 jQuery 性能提示的一个很好的参考(注意 #5): http: //net.tutsplus.com/tutorials/javascript-ajax/10-ways-to-instantly-increase-your-jquery-performance /

于 2012-05-21T20:49:51.797 回答