iframe内容改变事件?
如何检测iframe内容何时发生变化,并在下面更改伪代码时执行某些操作
$('#waframe').contents().change(function(){ //do stuff });
好吧,浏览器似乎在包含页面的上下文中的元素上生成“加载”事件。 当“src”改变时,“load”会激活; 不确定当iframe改变时它是否会触发。
编辑:是的,当页面重新加载“内部”时它似乎确实触发
因此你可以尝试:
$('iframe#yourId').load(function() { alert("the iframe has been loaded"); });
我正在做一个litle技巧(污垢,但它的工作):)显示一个加载对象
function changeDet(old){ //detect src changes if($("iframe#ifID").attr('src') != old){ $("iframe#ifID").width(0); //error if i hide ...? } setTimeout('changeDet("' + $("#db").attr('src') + '")',10); } var df = $('#iframe#ifID'); df.load(function(){ //content loaded setTimeout('$("#db").width(var_default_width);',100); }); changeDet(); $(function(){ //jq stuffs... })
您可以使用它在更改时触发事件..适用于IE8和Firefox
if(document.addEventListener){ yourIFrameObject.contentWindow.document.addEventListener('keyup', yourFunction, false); // window.frames[0].document.addEventListener('keyup', yourFunction, false); } else{ //for IE8 yourIFrameObject.contentWindow.document.attachEvent('onkeyup', yourFunction); }
如有必要,您可以使用mouseup
语句