Javascript 使用JQuery检测iframe事件

Javascript 使用JQuery检测iframe事件,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我有以下ajax代码: function send(obj) { var paket = { Url: obj } $.ajax({ url: 'submit', type: 'POST', dataType: 'json', contentType: "application/json; charset=utf-8", data: JSON.stringify(paket),

我有以下ajax代码:

function send(obj) {
    var paket = {
        Url: obj
    }
    $.ajax({
        url: 'submit',
        type: 'POST',
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify(paket),
        success: function (data) {
            var iframe = document.getElementById('frame');
            var html = data.msg;
            iframe.src = 'data:text/html;charset=utf-8,' + encodeURI(html);
            renderat = true;
            $('frame').ready(function () {
                console.log("laddad");
                test();
            });
        },
        error: function (data) {
        }
    })
}
这很好,它在我的iframe中呈现html:

<iframe width="600" height="600" id="frame"></iframe>
问题是它只运行到console.log0,然后什么也没有发生。。为什么?我怀疑问题在于我不知道如何将这个jquery代码放入$document.ready

有什么建议吗?感谢

就绪在iframe上作为选择器无效,请使用加载事件


用户说它运行到日志中的“0”——因此正在调用测试——因此无需使用该负载。@Leon建议您仔细阅读ready的工作原理。它引用已经处于就绪状态的主页面如果您想从DOM获取事件,除了DOM-TS想要处理DOM上的click事件外,是否加载了所有或任何元素都无关紧要,因此就绪是好的。由于调用了Console.Log“0”,因此已触发就绪事件。还是我搞错了?@Leon是的,你搞错了,OP正在尝试访问iframe中的一个新DOM,在加载之前你无法访问它谢谢你的响应,当前代码如下:$'frame'。加载时,函数{$iframe.mouseoverfunction event{alert$event.target;}; }; 它不允许我添加.contentWindow-然后它会向我抛出一个安全错误,即使一切都发生在我自己的计算机上。很可能“framen”是空的,也会在控制台中转储它-另请参见:
function test() {
    if (renderat == true) {
        console.log("0");
            var framen = document.getElementById('frame').contentWindow;
            $(framen).click(function (event) {
                alert($(event.target).val());
            });
    }
}
$('#frame').on('load',function () {
     console.log("laddad");
     test();
});