0

我的 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填充的位置。当我单击列表视图上的一行时,我希望会出现弹出窗口。除了这一行之外,列表视图的点击事件工作正常

$("#tmpImg").click();

是锚点点击事件的问题还是弹出框本身的问题?

::更新:: 我的绑定脚本

$('body').on('vclick','.imgClass',function(e) {
     e.preventDefault();
     e.stopImmediatePropagation();
     alert("This one Fires");
     $("#tmpImg").click();         
 });

imgClass我动态生成的类在哪里listview

4

1 回答 1

0

据我了解,您正在将绑定设置到页面上尚未出现的元素(列表项)。你可能应该使用类似的东西:

 $(document).on('click', 'your_row_selector', function(){
      // do sth
 })

然后,您可以动态添加列表项并通过始终存在的文档将绑定委托给它们。因此,问题应该出在您的事件处理上,而不是弹出窗口

编辑:
关于弹出窗口,我会做两件事:

1) 使用

 $('#tmpImg').popup('open')

2) 尽量不要绑定到虚拟事件,例如vlick. JQM 文档声明要谨慎使用虚拟事件,因为它们的行为快速但不可预测。尝试绑定以click查看这是否有效。

于 2012-08-22T21:54:19.937 回答