为什么taphold事件不能按下按钮?

时间:2013-09-06 04:51:21

标签: jquery jquery-mobile

我想获得长时间的新闻事件。所以我在jquery mobile尝试taohold事件。但是当我添加按钮时它不会打电话。

我喜欢小提琴

<button id="test">Test</button>

$('#test').bind('taphold', function(e) {
     alert("jj") ;  
    e.preventDefault();
    return false;
} );


$(function(){
  $( "#test" ).bind( "taphold", tapholdHandler );

  function tapholdHandler( event ){
       alert("jjghfhg") ;
  }
});

1 个答案:

答案 0 :(得分:1)

你的问题是你没有正确使用jQuery Mobile。要使taphold正常工作,您需要在精确的时刻绑定您的事件。 document ready或$(function(){不能在这里使用。主要是因为它们会在jQuery Mobile重新设计其DOM内容之前很久就会触发。

要了解更多内容,请阅读我的文章 HERE

这就是为什么我问你知道jQuery Mobile页面事件是什么。为了使这项工作,您的内容必须是页面div的一部分,甚至必须在pageinit事件之后执行绑定。

工作示例:http://jsfiddle.net/Gajotres/uBtcL/

HTML:

<div data-role="page" id="index">
    <button id="test">Test</button>
</div>  

Javascript:

$(document).on('pagebeforeshow', '#index', function(){ 
    $('#test').bind('taphold', function(e) {
        alert("jj") ;  
        e.preventDefault();
        return false;
    } );
});