0

ajax を介してロードされた html で jquery 関数を実行したいと考えています。どうすればできますか。この ajax() 関数はシステム内の別のモジュールによって既に管理されており、それにフックできないため、 $.ajax() 内で使用できないことを確認してください。次のことを試しましたが、ajax経由でロードされた入力フィールドの値を変更していません。何か案が?

$(document).on("ready", function(){
    run_my_function();
});
function run_my_function(){
    $('selector_on_html_loaded_through_ajax').val('Hi');
}   
4

1 に答える 1

1

jqueryには、jqueryが開始したajaxリクエストが成功したときにコードを実行できる疑似イベントがあります。作成しているリクエストの ajax 成功ハンドラーのように、より効率的な方法があるかもしれません。

$.ajaxSuccess(function () {
    $('selector_on_html_loaded_through_ajax').val('Hi');
});

/// or ///

$.ajax({
    'url': 'http://example.com/this/is/my/request',
    'success': function () {
        $('selector_on_html_loaded_through_ajax').val('Hi');
    }
});

更新: 別のオプション

別のオプションは、DOM ミューテーション イベントを使用することです。唯一の問題は、それらが推奨されていないことです。この質問では、それらをクロス プラットフォームで使用する方法について説明します。

于 2012-12-25T13:30:08.970 に答える