在jQuerymobile .button()调用后删除按钮

时间:2014-03-17 21:47:15

标签: android jquery-mobile

我前段时间使用jQuerymobile 1.3.2构建了一个Android应用程序。应用程序通过注入超链接标记并在其上调用.button()来创建按钮,然后稍后单击,调用remove()将其再次删除。 E.g:

<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()只删除内部元素,将包装标记留在后面。这种情况可能已经发生,但现在已经被新造型强调了。

有人可以建议我在点击后如何删除按钮吗?

1 个答案:

答案 0 :(得分:1)

从jQuery Mobile 1.4开始,<a><button>不会自动收到增强功能。要将它们转换为按钮,您需要手动添加类。 jQuery Mobile删除了按钮中的所有 span ,用于容纳文本图标

.button()函数只能在input上使用,类型为buttonsubmitreset

应手动创建锚点和按钮标记,如下所示。

<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>

现在,您可以在没有任何 enhacnement 方法的情况下动态注入这些按钮,并且可以直接在单击按钮上调用.remove()

参考文献:

  1. Buttons
  2. Button Widget