0

我的 JQM 页面中有以下标题,以便在点击 时弹出菜单option

<div data-role="header" data-theme="a" data-position="fixed">
    <div><a href="#"><img src="custom-icon.png" class="ui-btn-left" width="32" height="32"/></a></div>

    <h1>HOME</h1>

    <a href="#main-menu" class="ui-btn-right" data-rel="popup" data-icon="grid" data-iconpos="notext">Option</a>
    <div data-role="popup" id="main-menu">
        <ul data-role="listview" data-inset="true" data-theme="a">
            <li><a href="menu1" data-theme="c">MENU 1</a>
            <li><a href="menu2" data-theme="c">MENU 2</a></li>
        </ul>
    </div>
</div>

它可以工作,但有时需要在我的安卓设备中多次点击。android-webview 中使用了 JQM 页面。如何解决敲击问题?

谢谢

4

1 回答 1

0

在我的建议中,您必须停止事件冒泡。您可以通过jQuery以下方式执行此操作:

e.stopPropagation();

所以在我的建议中,为菜单链接弹出的点击事件编写一个处理函数。

JQM在webview 页面中进行此更改

<a href="#" id="my_link" class="ui-btn-right" data-rel="popup" data-icon="grid" data-iconpos="notext">Option</a>

并且更好地在 .ready() 中绑定您的链接,您应该尽量避免在 .ready() 中使用Javascript代码以DOM获得更好的可维护性。

$('#my_link').live('tap',function(event) {
    event.stopPropagation();
    $('#main-menu').popup('open');
});

编辑:

$('#YOUR_PAGE_ID').live( 'pageinit',function(event){
    $('#my_link').live('tap',function(event) {
        event.stopPropagation();
        $('#main-menu').popup('open');
    });
});
于 2013-04-23T07:15:36.967 回答