2015-10-02 101 views
0

你能幫我找到哪個元素「taphold」是通過使用js,jquery或jq mobile來觸發的。 我的HTML結構,就像是我的javascript代碼,我能夠防止taphold的默認行爲如下如何獲得taphold被觸發的元素(jquery mobile)

<script> 
 
    $(document).on("pagecreate", function() {  
 
     $("#myFilesListView").bind('contextmenu', function (event) { 
 
      event.preventDefault(); 
 
      event.stopPropagation(); 
 
      return false; 
 
     }); 
 
    }); 
 
    $(document).ready(function() { 
 
     $("#myFilesListView").bind("taphold", function (event) { 
 
      event.preventDefault(false); 
 
      event.stopPropagation();   
 
      var ID = $(this).child().attr("id"); 
 
      alert(ID); 
 
     }); 
 
    }); 
 
</script>
<div data-role="page" id="page1"> 
 
     <div data-role="header"></div> 
 
     <div data-role="main"> 
 
      <ul data-role="listview" id="mylistview"> 
 
       <li class="mydata" id="1"> some conetent</li> 
 
       <li class="mydata" id="2"> some conetent</li> 
 
       <li class="mydata" id="3"> some conetent</li> 
 
       <li class="mydata" id="4"> some conetent</li> 
 
       <li class="mydata" id="5"> some conetent</li> 
 
       <!--ids are not in predefined sequences and there may be 100s of list--> 
 
      </ul> 
 
     </div> 
 
<div data-role="fotter"></div> 
 
</div>
提及,但我沒有得到如何儘快獲取特定列表的Id用戶點擊並按住該列表。

回答

1

您可以將taphold綁定到li元素,而不是列表視圖:

$(document).on("pagecreate", "#page1", function() {  
    $("#mylistview").on('contextmenu', function (event) { 
     event.preventDefault(); 
     event.stopPropagation(); 
     return false; 
    }); 

    $("#mylistview li").on("taphold", function (event) { 
     var ID = $(this).prop("id"); 
     alert(ID); 
    }); 
}); 

DEMO

+0

感謝您的寶貴答覆.....它的工作就像一個魅力,我做了這樣的「$(document).on(」taphold「,」.touchableImage「,function(event){ var ID = $(this).attr(」id「); hm.files.rightClickOptions (ID); }); 「 –

+0

我對contextmenu有一個新的疑問,我需要幫助,所以我應該在這裏發佈或創建一個新問題 –

+0

@ManjeetSingh,張貼爲新的問題會讓更多的人看着它,並可能更快的回答.. 。 – ezanker