我不久前使用 jQuerymobile 1.3.2 构建了一个 Android 应用程序。该应用程序通过注入(inject)超链接标签并在其上调用 .button() 来创建按钮,然后在单击后调用 remove() 将它们再次删除。例如:
<a class="jsButton" href="..." data-role="button" data-ajax="false">More...</a>
function doSearchMore(e) {
e.preventDefault();
jQuery(this).remove();
...
}
我现在更新到 jQuerymobile 1.4.2,这段代码不再有效。似乎 .button() 会导致额外的标记来包装超链接,因此超链接上的 jQuery(this).remove() 只会删除内部元素,而将包装标记留在后面。这可能已经发生,但现在已通过新样式强调。
有人可以建议我应该如何在点击时删除按钮吗?
最佳答案
自 jQuery Mobile 1.4 起,<a>
和 <button>
不会自动获得增强。要将它们转换为按钮,您需要手动为它们添加类。 jQuery Mobile 删除了按钮内的所有 span,这些按钮用于容纳 text 和 icon。
.button()
函数应仅在 input
上使用与类型 button
, submit
和 reset
.
应按如下方式手动创建 anchor 和按钮标签。
<a href="#" class="ui-btn ui-btn-a ui-btn-icon-right ui-icon-info" data-ajax="false">Information</a>
<button class="ui-btn ui-btn-b ui-btn-icon-left ui-icon-home">Home</button>
现在,您可以在不使用任何增强 方法的情况下动态注入(inject)这些按钮,并且您可以调用 .remove()
直接点击按钮。
引用资料:
关于android - 在 jQuerymobile .button() 调用后删除按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22466176/