问题
我在页面底部的footer中添加了一个固定的navbar,但不知道为什么,这个navbar中的按钮对点击事件的反应总是丢三落四,感觉有30%左右的onclick事件没有处理,但是navbar中按钮的ui-btn-active class状态可以被正确的修改。
解决办法(work-around)
将navbar onclick中的代码移到vclick事件中,
原来的页面是这样的:
HTML
现在改成这样
HTML
Javascript
注:希望那个路过的高人可以指点一下,有没有更好的办法来解决这个问题
原来的页面是这样的:
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);
}
});
注:希望那个路过的高人可以指点一下,有没有更好的办法来解决这个问题