JQuery(移动)绑定touchstart无法工作
im使用jquery mobile开发web应用程序。现在,你知道;-),jquerymobile使用普通的tap事件非常慢 我找到了一些加快导航速度的解决方案,其中之一是: 而不是使用JQuery(移动)绑定touchstart无法工作,jquery,jquery-mobile,panel,Jquery,Jquery Mobile,Panel,im使用jquery mobile开发web应用程序。现在,你知道;-),jquerymobile使用普通的tap事件非常慢 我找到了一些加快导航速度的解决方案,其中之一是: 而不是使用im使用:..然后: $('#ID_btn').bind('touchstart', function(e) { event.preventDefault(); e.stopPropagation();
im使用:..
然后:
$('#ID_btn').bind('touchstart', function(e) {
event.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
if(event.handled !== true) {
$.mobile.changePage("#ID",{ transition: "slide"});
event.handled = true;
}
});
这工作得很好,可以将应用程序的延迟从1秒提高到100-200ms
但有一个棘手的按钮,无法工作,如上图所示。这是显示我的根面板的按钮:
因此,我:
<body>
<div data-role="page" id="news" data-theme="a" data-content-theme="a">
<div data-role="panel" id="menue" data-position="left" data-theme="b" >
<p>test</p>
</div>
<div data-role="header" id="news_header">
<h1>News</h1>
<a id="#menue_btn" data-icon="bars" class="ui-btn-left">Menue</a>
</div>
<div data-role="content" id="news_content">
<ul data-role="listview" id="news_content_list" data-inset="true">
</ul>
</div>
</div>
我甚至无法获取警报(),因此我认为我的绑定有问题
有什么想法吗?我认为
event.preventDefault()
应该是e.preventDefault()
是的,当然,我的错;-)但是似乎什么都没有改变^^按钮不起作用您的按钮id中包含哈希字符(id=“#menue_btn”)。它可能应该是id=“menue\u btn”
function init(){
menue = $('#menue');
menueBtn = $('#menue_btn');
menueBtn.bind('touchstart', function(e) {
event.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
if(event.handled !== true) {
//alert(1);
menue.panel("open", {display: 'push', position: 'left'});
event.handled = true;
}
});
}
$( document ).ready(function() {
init();
});