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
 })

次に、リストアイテムを動的に追加し、常に存在するドキュメントを介してそれらへのバインディングを委任できます。したがって、問題はポップアップではなく、イベント処理にあるはずです。

編集:
ポップアップに関して、私がする2つのこと:

1)使用

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

2)などの仮想イベントにバインドしないようにしてくださいvlickJQMのドキュメントでは、仮想イベントの動作は高速であるが予測できないため、注意して使用するように述べられています。にバインドしclickて、これが機能するかどうかを確認してください。

于 2012-08-22T21:54:19.937 に答える