我正在使用https://stackoverflow.com/a/987376/784637
中的selectText
功能
然而,当我在新创建的元素上发出ajax请求后立即调用此函数时:
selectText('some-newly-added-element')
我在firebug中收到以下错误
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请求完成后立即调用此函数?
答案 0 :(得分:1)
回复:Is there a way to call this function immediately after the ajax request is done?
你的意思是在ajax success
成功之后。 或 http://api.jquery.com/jQuery.ajax/
或这应该有所帮助:Execute function after all ajax .load() requests are finished
希望这符合原因:)
<强>示例强>
$.ajax({
url: this.html_url,
cache: false,
success: function(html){
doSomething();
return true;
}
});
答案 1 :(得分:1)
使用complete
回调,这将在ajax调用后触发
$.ajax({
complete: function(){
selectText('some-newly-added-element');
}
});
ajax事件的文档:http://docs.jquery.com/Ajax_Events