是否可以检测 iframe 内的输入更改事件?
代码需要是纯 Javascript 并且位于 iframe 之外。每次我在 iframe 内输入一个输入字段时,该函数都需要触发 - 这可能吗?
是否可以检测 iframe 内的输入更改事件?
代码需要是纯 Javascript 并且位于 iframe 之外。每次我在 iframe 内输入一个输入字段时,该函数都需要触发 - 这可能吗?
试试这个代码:
window.onload = function() {
var iframe = document.getElementsByTagName('iframe')[0];
iframe.onload = function() {
var input = iframe.contentDocument.getElementsByTagName('input')[0];
input.addEventListener('keypress', function() {
// wait until key is entered into input box
setTimeout(function() {
console.log(input.value);
}, 10);
}, false);
};
};
如果您在同一个域上工作,则可以访问 iframe。
document.getElementById('yourIframe').contentWindow.document.findElementsByTagName('input')[0].onkeyup = function () {
console.log('Input has changed.');
};
如果您在不同的域中,最好使用此处描述的 postMessage API:http ://davidwalsh.name/window-postmessage 此解决方案的结果是,您必须在 iframe 和父框架。
document.getElementById('rw_iframe').contentWindow.document.getElementById("fieldID").onchange = function () {
};
使用jquery改变当前上下文,只要你使用js给iframe元素附加一个事件就可以了