0

我想data-role="button"在窗口调整大小时从锚标记中添加或删除 jquerymobile 属性,这意味着:

  <a href=".." class="mobilebutton">Hello</a>

  if(windowsize < 700)
    $(".mobilebutton").attr("data-role", "button");
  else 
    $(".mobilebutton").removeAttr("data-role");

但它不起作用可能是因为页面已经创建,所以添加data-role属性没有效果,因为jquerymobile.js不知道我们添加的这个属性。谁能告诉我解决方法?

4

2 回答 2

0

当页面已经创建(因此标记被增强)时,您无法通过删除属性来恢复增强。

一个按钮标记:

<a id="myButton" href="index.html" data-role="button">Link button</a>

增强后将如下所示:

<a id="myButton" href="index.html" data-role="button" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c" class="ui-btn ui-shadow ui-btn-corner-all ui-btn-up-c">
    <span class="ui-btn-inner ui-btn-corner-all">
        <span class="ui-btn-text">Link button</span>
    </span>
</a>

因此,摆脱增强标记的一种方法是手动将其替换为预增强标记:

$("#myButton").replaceWith('<a id="myButton" href="index.html">Link button</a>'); 
于 2012-05-15T22:29:29.053 回答
0

您可以在 jQueryMobile 增强标记之前触发的pagecreate事件中调用您的逻辑。

于 2012-05-14T20:57:14.037 回答