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 デバイスで何度もタップする必要がある場合があります。JQM ページは android-webview で使用されました。タッピングの問題を解決するには?

ありがとう

4

1 に答える 1

0

私の提案では、イベントのバブリングを停止する必要があります。ではjQuery、次の方法でこれを行うことができます。

e.stopPropagation();

したがって、私の提案では、メニュー リンク ポップアップのクリック イベントのハンドラ関数を記述します。

この変更をJQMwebview ページで行います

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

また、リンクを .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 に答える