jquery移动属性data-role =“button”无法正常工作

时间:2012-05-14 20:44:04

标签: jquery jquery-mobile

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

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

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

但它不起作用可能是因为页面已经创建,因此添加data-role属性无效,因为jquerymobile.js不了解我们添加的此属性。 有人可以告诉我解决方法吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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>');