单击jQuery Mobile Link / Button的错误

时间:2011-11-29 19:49:39

标签: javascript jquery button jquery-mobile

如果我的jQuery Mobile应用程序中有链接,请将其设为.button();的按钮。如果我点击文本(按钮的中心),它将不会抛出事件"点击"。

这是一个例子: http://jsfiddle.net/9rZHg/

运行此脚本,并尝试瞄准文本。警报弹出窗口不会显示。只有当您点击按钮的其他部分时,它才会起作用。

在设备上进行测试时也会出现同样的情况。

是否有一种简单的方法可以避免这种情况,或者我是否必须在我的应用中使用<button>标记?

谢谢

2 个答案:

答案 0 :(得分:5)

jQuery Mobile项目的开发人员,这里。

虽然上面的修补程序暂时可以暂时解决问题,但基本问题是button()插件适用于button元素和输入。添加data-role="button"属性或调用buttonMarkup()插件可以防止此问题。

答案 1 :(得分:2)

我之前没有创建过这样的按钮,但问题在于<a>元素的z-index。如果您将以下CSS添加到您的页面,那么您将能够单击该按钮的任何部分以触发click事件:

/*place the hidden link on top of the button UI*/
.ui-btn-hidden {
    z-index : 2;
}

如果您在data-role="button"标记上使用<a>,则不会发生此问题:

<a href="" data-role="button">A tag w/ data-role="button"</a>

以下是这两种解决方案的解决方案:http://jsfiddle.net/jasper/9rZHg/1/