如果我有一个链接在我的jQuery移动应用程序,并使它与.button();
按钮。如果我点击文本(按钮的中心),它不会抛出事件"点击"。
下面是一个例子:http://jsfiddle.net/9rZHg/
运行此脚本,并尝试瞄准文本。警告弹出框将不会显示。只有当你点击按钮的其他部分时,它才会起作用。
在设备上进行测试时也会发生相同的情况。
是否有一种简单的方法来避免这种情况,或者我必须在我的应用程序中到处使用<button>
标签?
谢谢
jQuery Mobile项目的开发人员,在这里。
虽然上面的修复可能暂时修补了这个问题,但根本问题是button()
插件是针对button
元素和输入的。添加data-role="button"
属性或调用buttonMarkup()
插件将防止此问题。
我以前没有创建过这样的按钮,但问题是<a>
元素的z-index。如果你在你的页面中添加了以下CSS,那么你就可以点击按钮的任何部分来触发click
事件:
/*place the hidden link on top of the button UI*/
.ui-btn-hidden {
z-index : 2;
}
当你在<a>
标签上使用data-role="button"
时,这个问题不会发生,像这样:
<a href="" data-role="button">A tag w/ data-role="button"</a>
下面是这两种解决方案的概要:http://jsfiddle.net/jasper/9rZHg/1/