0

JQuerymobileを使用するWebアプリでjavascriptを使用してHTMLを更新しようとしています。何らかの理由で、innerHTML属性を使用してJQueryMobileボタンを作成できません。例えば:

document.getElementById('someDiv').innerHTML = document.getElementById('someDiv').innerHTML + '<p><em>' + var1 + '</em>:<br />' + var2+'</p>';

動作し、正しくスタイル設定されますが:

document.getElementById('someDiv').innerHTML = document.getElementById('someDiv').innerHTML + '<a href="#" onclick="appendButton()" data-role="button">' + var1 + '</a>';

ではない。それが何か違いを生むのであれば、someDivはで囲まれていると言わなければなりません。<div data-role="controlgroup">また、ページには正常に機能する他のボタンがあります。

なぜこれが機能しないのですか、どうすれば機能させることができますか?

編集:違いがあれば、PhoneGapを使用してこれをネイティブアプリにコンパイルしています...

4

3 に答える 3

2

追加した要素のスタイルを変更する必要があることを jQuery Mobile が認識できるように、pageCreate イベントをトリガーする必要があります。

$("#someDiv").trigger("create")
于 2012-07-18T20:35:33.133 に答える
1

に要素を追加しようとしているようですdiv

var div = document.getElementById('someDiv'),
    anchor = document.createElement('a');
anchor.setAttribute('href', '#');
anchor.addEventListener('click', appendButton, false);
anchor.setAttribute('data-role', 'button');
anchor.innerHTML = var1;
div.appendChild(anchor);

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2012-07-18T20:42:57.910 に答える
1

特別な機能を持つ要素を追加するときは、その機能の初期化を再実行することが重要です。

この目的のために、dom_mods()まさにそれを行う関数を定義したいと思います。そのため、ページにコンテンツを追加するたびに、呼び出すだけでdom_mods()、すべての特別な機能が実行または更新されます。

于 2012-07-18T20:36:42.713 に答える