jquery mobile navbar: 对click事件的响应不准确

来源:互联网 发布:淘宝可以卖电子资料吗 编辑:程序博客网 时间:2024/05/19 04:03
问题

在页面底部的footer中添加了一个固定的navbar,但不知道为什么,这个navbar中的按钮对点击事件的反应总是丢三落四,感觉有30%左右的onclick事件没有处理,但是navbar中按钮的ui-btn-active class状态可以被正确的修改。


解决办法(work-around)
将navbar onclick中的代码移到vclick事件中,

原来的页面是这样的:
HTML
<div data-role="footer" data-position="fixed" data-tap-toggle="false">  <div data-role="navbar">    <ul>      <li><a href="#" onclick="RootSwiperHandler.swipeTo(0)" class="ui-btn-active" data-icon="film">电影</a></li><pre name="code" class="html">      <li><a href="#" onclick="RootSwiperHandler.swipeTo(1)" data-icon="archive">影院</a></li><pre name="code" class="html">      <li><a href="#" onclick="RootSwiperHandler.swipeTo(2)" data-icon="info">关于</a></li>    </ul>  </div></div>

现在改成这样
HTML
<div data-role="footer" id="root_footer" data-position="fixed" data-tap-toggle="false">  <div data-role="navbar" id="root_navbar">    <ul>      <li><a href="#" data-idx="0" class="ui-btn-active" data-icon="film">电影</a></li>      <li><a href="#" data-idx="1" data-icon="archive">影院</a></li>      <li><a href="#" data-idx="2" data-icon="info">关于</a></li>    </ul>  </div></div>

Javascript
$("#root_navbar").navbar().delegate("a", "vclick", function(event) {  var l_idx = event.srcElement.getAttribute('data-idx');  if ( null != l_idx && l_idx ) {    RootSwiperHandler.swipeTo(l_idx);  }});


注:希望那个路过的高人可以指点一下,有没有更好的办法来解决这个问题
0 0
原创粉丝点击