0

我使用 cordova 和 jQuery mobile 作为 UI 框架创建了一个移动应用程序。它工作正常,只是在单击角落时不会触发 jQuery 移动按钮上的单击事件。单击角落时,我看到悬停效果(按钮颜色更改),但未触发单击事件。从按钮角向内单击一点时触发单击事件。

我正在使用 jQuery 移动 1.4.2。下面是我的按钮(带有类 showOptions 和 ui-btn 的锚标记)标记和单击处理程序:

<div data-role="header" data-theme="b" data-position="fixed" data-tap-toggle="false">
    <img src="images/logo_small.png" class="appLogoImg dontDisplay ui-btn-left" style="margin-top: 6px;" />
    <h1 class="ui-title">All Packages</h1>
    <div class="ui-controlgroup ui-controlgroup-horizontal ui-btn-right">
        <a href="#" class="showOptions ui-btn ui-icon-bars ui-btn-icon-left ui-nodisc-icon">Options</a>
    </div>
</div>


$('.showOptions').on('click', function() {
    console.log('button clicked');
    return false;
});

有没有人也面临同样的问题?请帮我。

4

1 回答 1

1

与其使用<button>or <input type="submit">,不如使用<a>(像你一样)与data-role="button"属性。

<a href="#" data-role="button" class="showOptions ui-btn ui-icon-bars ui-btn-icon-left ui-nodisc-icon">Options</a>

data-role=button带有不要被.ui-btndiv包裹的锚。因此,您将拥有响应任何事件的整个按钮。

于 2014-07-18T12:51:07.143 回答