【发布时间】:2011-07-08 00:18:51
【问题描述】:
我一直在使用以下测试/函数对,以便仅在存在一个或多个时将函数附加到适当的页面元素:
function assistedSearch() {
$('.assistedSearch').focus( function() {
...
});
}
$(function() {
if ( $('.assistedSearch').length > 0 ) {
assistedSearch();
}
});
function inputHinting() {
$(':input.hint').each( function() {
...
});
}
$(function() {
if ( $(':input.hint').length > 0 ) {
inputHinting();
}
});
这是过度设计的经典案例吗?每个函数绑定之前的“if”测试是否不必要?
如果不是过度设计,是否有一种较少 DOM 密集型的方法来确保仅将所需的功能绑定到当前页面?
【问题讨论】:
-
这是毫无意义的,因为 jQuery 默认会处理所有这些,你要做的就是重新检查一遍 :)
标签: jquery performance optimization dom