0

ウィンドウサイズ変更のアンカータグから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誰かがこれの回避策を教えてもらえますか?

4

2 に答える 2

0

jQueryMobileがマークアップを拡張する前に発生するpagecreateイベントでロジックを呼び出すことができます。

于 2012-05-14T20:57:14.037 に答える
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>

したがって、拡張マークアップを取り除く1つの方法は、事前に拡張されたマークアップに手動で置き換えることです。

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