0

ajax を使用してページにいくつかのコンテンツをロードしました。いくつかのアンカーがクリックされたときに JS 関数を実行したい。これらのアンカーは、ajax を使用してロードされたコードに属します。ajax リクエストと JS 関数の両方が、jQuery(document).ready(function() {.

この JS ファイルには数十の関数があり、正常に動作していますが、この特定の関数は、ajax を使用して取得したコードによって呼び出される唯一の関数であり、機能していません。私のコード:

html メインファイル:

<!-- code -->
<div id="ajaxContentGoesHere">
<!-- content inserted here by ajax function -->
<td><a href="#" id="aLancamentoEdit<?php echo $lancamento['Lancamento']['lan_itid']; ?>">Editar</a></td>
</div>    
<script src="/js/myJS.js"></script>
</body> 

/js/myJS.js ファイル:

jQuery(document).ready(function() {
/*some other functions here*/
 $("[id^='aLancamentoEdit']").click(function(){
        console.log(1);
}
});

呼び出し$("[id^='aLancamentoEdit']").click(function(){後のタグで、htmlメインファイル内に入れようとしました。/js/myJS.jsうまくいきませんでした。また、アンカー クラスに一致するようにセレクターを変更しようとしました (このためのクラスを宣言しました)。どちらも成功しません。onclick=""最後に、関数に名前を付けてアンカー内で呼び出すことも試みました。再び失敗しました。

私は何を間違っていますか?

4

2 に答える 2

4

「aLancamentoEdit」で始まる ID による要素は ajax によって動的に追加されるため、clickハンドラを親にバインドする必要があります。

$('#ajaxContentGoesHere').on('click', "[id^='aLancamentoEdit']", function() {
   console.log(1);
});
于 2013-10-03T19:06:07.903 に答える
3

.on()動的要素イベント (あなたの場合は ajax コンテンツ) に使用します。試す:

jQuery(document).ready(function() {
/*some other functions here*/
 $("#ajaxContentGoesHere").on("click","[id^='aLancamentoEdit']",function(){
        console.log(1);
}
});
于 2013-10-03T19:05:08.360 に答える