javascript - iframe .load 事件未触发

标签 javascript jquery html

我正在尝试重新加载 iframe,如下所示:

var frameObject = $('#myFrame');
var frameAsInDom = frameObject[0].contentWindow;
var currentLocation = frameAsInDom.location;
frameObject.attr('src', 'about:blank');
frameObject.contents().remove(); // This was a desperate statement!!
frameObject.attr('src', currentLocation).load(function(){
   alert('iframe reloaded');
});

问题是 iframe 的 .load 事件根本没有被触发。我没有在加载回调中收到警报

最佳答案

您正在混合事件的绑定(bind)和触发,

查看此代码:http://jsfiddle.net/BvQuk/1/

HTML

<iframe id="myFrame" src="http://google.com"></iframe><br/>
<input id="uxButton" type="button" value="Reload the frame" />

JS

$(document).ready(function() {
    var iFrame = $('#myFrame');

    iFrame.bind('load', function() { //binds the event
        alert('iFrame Reloaded');
    });

    $('#uxButton').click(function() {
        alert('onButtonClick OR onBeforeReload');
        var newSrc = iFrame.attr('src') + '?c=' + Math.random(); //force new URL
        iFrame.attr('src', newSrc); //changing the src triggers the load event
    });

});

希望有帮助。

关于javascript - iframe .load 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3810332/

相关文章:

jQuery 将字符串转换为对象而不使用 eval()

jquery - 如何拆分 JQuery 命令

html - Bootstrap 3,切换折叠不会在页面加载时保持关闭状态

html - CSS Grid,在我不应该的时候得到一个滚动条

javascript - 过滤此正则表达式中的字符

javascript - 云函数: Delete file from storage

jquery - 如果只有一张幻灯片使用 jQuery Cycle2 插件,则隐藏 "Next/Previous"导航

javascript - 最新的dom源代码

javascript - 是否有任何工具可以按 DOM 结构比较 HTML 文档?

javascript - 在 javascript 中实现 quickSort 时遇到问题