锚点击时Jquery Mobile Display弹出窗口

时间:2012-08-22 21:33:50

标签: jquery jquery-mobile

我的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的类。

1 个答案:

答案 0 :(得分:0)

据我所知,你正在设置一个绑定到页面上没有的元素(列表项)。你应该使用类似的东西:

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

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

修改
关于弹出窗口,我会做两件事:

1)使用

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

2)尽量不要绑定到vlick等虚拟事件。 JQM docs状态谨慎使用虚拟事件,因为它们的行为快速但不可预测。尝试绑定到click以查看是否有效。