我不确定为什么会冒泡,但事实确实如此。想知道是否有人有任何想法?
$('#file_upload').live('submit',function(event){
$('#file_upload').attr('action','io.cfm?action=updateitemfile&item_id='+$('.agenda-modal').attr('data-defaultitemid'));
$('iframe').load(function(){
$('.upload_output').empty();
$livepreview.agenda({
action:'get',
id:$('.agenda-modal').attr('data-defaultitemid'),
type:'item',
callback:function(json){
for(x in json[0].files){
$('.upload_output').append('<li class="file-upload"><a target="blank" href="io.cfm?action=getitemfile&item_file_id='+json[0].files[x].item_file_id+'">'+json[0].files[x].file_name+'</a> <a style="color:red" href="#deletefile-'+json[0].files[x].item_file_id+'">[X]</a></li>');
}
console.log('callback');
}
});
console.log('iframed');
});
console.log('go');
});
所以,如果我上传文件,我会在我的控制台中获得以下内容:
go
iframe
callback
如果我连续第二次这样做:
go
iframed
iframed
callback
callback
三次:
go
iframed
iframed
iframed
callback
callback
callback
等
我认为如果live()
事件冒泡“go
”也会冒泡,但事实并非如此。我在提交内部的任何地方都尝试了event.stropPropagation
,.die()
就像$('#file_upload').die().live(...
一样。
有什么想法吗?
P.S。这个live()
调用只是在jQuery doc load($(function(){...});
)
答案 0 :(得分:2)
如果您使用one
,则应解决您的问题。
$('iframe').one("load", function() {
答案 1 :(得分:2)