Javascript - 在iframe中输入更改事件

时间:2013-08-15 11:07:50

标签: javascript iframe

是否可以在iframe中检测输入更改事件?

代码需要是纯粹的Javascript并且位于iframe之外。每当我在iframe中输入一个输入字段时,该函数需要触发 - 这可能吗??

2 个答案:

答案 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。