Javascript 如果iframe重新加载时焦点仍在输入上,是否重新运行jQuery函数?

Javascript 如果iframe重新加载时焦点仍在输入上,是否重新运行jQuery函数?,javascript,jquery,Javascript,Jquery,我有一个输入字段,当它触发jQuery函数以隐藏iframe中的一些内容时,效果很好。但是如果在输入字段仍处于焦点时重新加载/刷新iframe内容,jQuery函数将不会再次启动。如果重新加载iframe内容后输入仍处于焦点,是否可以重新运行下面的jQuery $('#_customize-input-checkin\\[message\\]').focus(function() { var $iframe = $("#customize-preview iframe")

我有一个输入字段,当它触发jQuery函数以隐藏iframe中的一些内容时,效果很好。但是如果在输入字段仍处于焦点时重新加载/刷新iframe内容,jQuery函数将不会再次启动。如果重新加载iframe内容后输入仍处于焦点,是否可以重新运行下面的jQuery

$('#_customize-input-checkin\\[message\\]').focus(function() {
            var $iframe = $("#customize-preview iframe").contents();
            $("#alert_check_in_notification_sent", $iframe).css("display", "block");
            $("#check-in-wrap", $iframe).css("display", "none");
});

您可以处理iframe onload事件以执行相同的逻辑。试试下面的方法-

function exec(){
    var $iframe = $("#customize-preview iframe").contents();
    $("#alert_check_in_notification_sent", $iframe).css("display", "block");
    $("#check-in-wrap", $iframe).css("display", "none");
}

$('#_customize-input-checkin\\[message\\]').focus(function() {
    exec();
});

$("#customize-preview iframe").load(function(){
    if($('#_customize-input-checkin\\[message\\]').is(":focus"))    
        exec();
});

这不是向jQuery对象添加事件侦听器的方法。将仅使用此方法注册初始负载also@charlietfl这个小例子展示了每次iframe加载-@joq3时加载事件是如何执行的,您尝试过上面的方法吗?嗯?这两个域都不会在iframe中加载,因为iframe拦截器您是对的,但争论的焦点在于加载事件是否每次都会触发。这似乎像预期的那样触发建议将代码放在iframe页面中,直接或使用postmessageapi调用父窗口函数