0

我正在使用selectText这里的功能https://stackoverflow.com/a/987376/784637

但是,当我在对新创建的元素发出 ajax 请求后立即调用此函数时:

selectText('some-newly-added-element')

我在萤火虫中收到以下错误

NS_ERROR_DOM_NOT_OBJECT_ERR: Parameter is not an object
[Break On This Error]   

range.selectNodeContents(text);

请注意,我可以像这样在同一元素上的 ajax 请求之后调用此函数

$('#container').on('click', '#some-newly-added-element', function(){
   selectText('some-newly-added-element');            
});

有没有办法在ajax请求完成后立即调用这个函数?

4

2 回答 2

1

关于:Is there a way to call this function immediately after the ajax request is done?

你的意思是在ajax成功之后success http://api.jquery.com/jQuery.ajax/

或者这应该有帮助:在所有 ajax .load() 请求完成后执行函数

希望这符合原因:)

样本

$.ajax({
    url: this.html_url,
    cache: false,
    success: function(html){
        doSomething();
        return true;
    }
});
于 2012-10-13T09:15:23.037 回答
1

使用complete将在 ajax 调用后触发的回调

  $.ajax({

  complete: function(){
       selectText('some-newly-added-element');
      }

   });

ajax 事件的文档:http: //docs.jquery.com/Ajax_Events

于 2012-10-13T09:15:56.090 回答