2012-08-22 135 views
0

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動態填充。當我點擊列表視圖上的一行時,我希望彈出窗口發生。點擊事件的列表視圖工作很好除了這一行

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

是錨點擊事件或poup本身的問題?

::更新:: 我綁定腳本

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

其中imgClass是我在飛行中動態生成listview類。

回答

0

從我所瞭解的你設置一個綁定到一個不在頁面上的元素(列表項)。你或許應該使用這樣的:

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

然後你就可以動態地添加列表項,並通過文件,這是始終存在一個委託綁定到他們。所以,這個問題應該與你的事件處理,而不是與彈出

編輯:
關於彈出,兩件事情我會做:

1)使用

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

2 )儘量不要綁定到虛擬事件,如vlickJQM docs表示謹慎使用虛擬事件,因爲它們的行爲是快速但不可預測的。嘗試綁定到click以查看這是否有效。

+0

謝謝經常更新我的代碼,請檢查。 –

+0

不幸的是,兩種解決方案都不適合我... –