如何在ajax()之外使用live()运行函数?

时间:2012-12-25 13:23:14

标签: jquery ajax live

我想在通过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');
}   

1 个答案:

答案 0 :(得分: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突变事件。唯一的问题是它们已被弃用。 This question描述了如何跨平台使用它们。