我不确定为什么会这样冒泡,但是确实如此。想知道是否有人有任何想法吗?
$('#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(...
。有任何想法吗?
附言此
live()
调用仅在jQuery文档加载($(function(){...});
)内 最佳答案
如果使用one
,则应解决此问题。
$('iframe').one("load", function() {
关于javascript - 奇怪的冒泡问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3392163/