我发现了一些关于live和的问题bind,但没有一个是关于性能的.我认为标题很清楚,live在jQuery 中使用会有性能影响吗?为什么我要问这是因为在使用时每次触发事件时都必须进行查找live,我的想法是这可能会以负面的方式影响性能.或者jQuery正在做一些加速这个的神奇的东西,比如听一些东西被添加到DOM时被触发的事件?
在jQuery Mobile中listview,我有一系列项目:
<ul data-role="listview" id="lv_systems" data-inset="true">
<li><a href="#page2" data-id="sys1">System 1</a></li>
<li><a href="#page2" data-id="sys2">System 2</a></li>
....
</ul>
Run Code Online (Sandbox Code Playgroud)
在$(document).ready(),我为每个添加一个点击处理程序<a>(这里建议)(#select_system是页面名称):
$(document).ready( function () {
$('#select_system').live ('pagecreate', function(){
$('#lv_systems').delegate('li', 'click', function(){
alert('list item clicked');
});
});
$('#lv_systems').listview('refresh');
});
Run Code Online (Sandbox Code Playgroud)
测试此代码在浏览器(Chrome和Safari)中进行测试时效果很好,但在带有PhoneGap的Android模拟器中,从不会显示警报消息,这使得事件绑定看起来不正确.
我错过了什么?