是否可以在iframe中检测输入更改事件?
代码需要是纯粹的Javascript并且位于iframe之外。每当我在iframe中输入一个输入字段时,该函数需要触发 - 这可能吗??
答案 0 :(得分:0)
试试这段代码:
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);
};
};
答案 1 :(得分:0)
如果您使用的是同一个域,则可以访问iframe。
document.getElementById('yourIframe').contentWindow.document.findElementsByTagName('input')[0].onkeyup = function () {
console.log('Input has changed.');
};
如果您在不同的域名,最好的选择是在此处描述的postMessage API:http://davidwalsh.name/window-postmessage 这个解决方案的结果是,你必须在双方,iframe和父框架上编写JS。