我的html页面中有这段代码:
<div data-role="content">
<div class="content-primary">
<ul data-role="listview" data-split-icon="add" data-split-theme="d"
id="itemsMenu">
</ul>
<div data-role="popup" id="previewImg" data-theme="d" data-overlay-theme="b"
class="ui-content" style="max-width:340px;">
<h3>Image Preview</h3>
<a href="index.html" data-role="button" data-rel="back"
data-inline="true" data-mini="true">Cancel</a>
</div>
<a href='#previewImg' id='tmpImg' data-rel="popup" data-position-to="window"
data-transition="pop">
</a>
</div><!--/content-primary -->
</div>
动态填充ul > itemsMenu
的位置。当我单击列表视图中的一行时,我希望弹出窗口发生。 listview的click事件除此行之外还可以正常工作
$("#tmpImg").click();
是锚定点击事件还是poup本身的问题?
::更新:: 我的装订脚本
$('body').on('vclick','.imgClass',function(e) {
e.preventDefault();
e.stopImmediatePropagation();
alert("This one Fires");
$("#tmpImg").click();
});
其中imgClass
是我动态生成的listview
的类。
答案 0 :(得分:0)
据我所知,你正在设置一个绑定到页面上没有的元素(列表项)。你应该使用类似的东西:
$(document).on('click', 'your_row_selector', function(){
// do sth
})
然后,您可以动态添加列表项,并通过始终存在的文档将绑定委托给它们。所以,问题应该在于你的事件处理,而不是弹出
修改强>
关于弹出窗口,我会做两件事:
1)使用
$('#tmpImg').popup('open')
2)尽量不要绑定到vlick
等虚拟事件。 JQM docs状态谨慎使用虚拟事件,因为它们的行为快速但不可预测。尝试绑定到click
以查看是否有效。