在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>
在$(document).ready()
中,我为每个<a>
添加了一个点击处理程序(建议here)(#select_system
是页面名称):
$(document).ready( function () {
$('#select_system').live ('pagecreate', function(){
$('#lv_systems').delegate('li', 'click', function(){
alert('list item clicked');
});
});
$('#lv_systems').listview('refresh');
});
在浏览器(Chrome和Safari)中测试时,测试此代码效果很好,但在带有PhoneGap的Android模拟器中,从不会显示警报消息,这使得事件绑定看起来不正确。
我错过了什么?
答案 0 :(得分:5)
自我备忘:RTFM。
不使用委托绑定到click
,而是绑定到vclick
,即
....
$('#lv_systems').delegate('li', 'vclick', function(){
....
根据文档,
用于处理触摸或鼠标
click
事件的规范化事件