私はリンクを持っているのhtmlありますjQueryのカラーボックスフューチャー要素追加
<a id="myLink" href="/aa.html" title="New Bangoo" class="bangoo">Bangoo</a>
を、私はこのラインを持っているのjsファイルを含める:
$("#myLink").live('click', function() {
var typi = 'Ginga';
$("#typeList").append('<option>' + typi + '</option>');
});
aa.html
はそれを持っている:
<label for="typeList">Type</label>
<div>
<select id="typeList"></select>
</div>
aa.html
がカラーボックスで開きます。すべてはOKですが、選択リストにタイプを追加することはできません。それは開いているときに要素がありません。以前は働いていましたが、今は働いていません。これは、jsファイルがhtmlのロードの前にリストに追加しようとしている可能性がありますか?
アイデア?
EDIT:
私はそれが動作することを実行します。私はそれが待機し、この時点では、リストを選択するために、追加するのに十分な時間を持っている何かを警告する
$("#myLink").live('click', function() {
alert('Wait Here!');
var typi = 'Ginga';
$("#typeList").append('<option>' + typi + '</option>');
});
。外部リンクがロードされていることを確認するにはどうすれば追加できますか?
PS:私の問題は、myLink
をクリックした後に読み込むHTML要素を追加しようとしていることです。 aa.html
は最初にdomに配置されません。外部ソースからロードします。
外部ページが画面に読み込まれた後、選択リストに要素がありません。 Firebugから同じコードを実行しようとすると、リストを選択して動作するオプションが追加されます。つまり、コードは機能しますが、タイミングや非同期の問題があり、選択リストに要素を追加してからDOMツリーに配置する必要があります。私はそれをロードし、その後、私のコードを実行するのを待つ必要があります。
私は自分の質問を編集しましたが、preventDefaultは機能しません。 – kamaci
@kamaciそれ以外のコードを追加しました。 –
ありがとうございますが、まだ同じ問題があります。ページ選択リストに表示された外部リンクの後には要素がありません。 Firebugからもう一度オプションを追加しようとすると動作します。 – kamaci