如何处理嵌套iframe中的事件

How to handle events in nested iframe?

本文关键字:iframe 事件 嵌套 何处理 处理      更新时间:2023-09-26

我真正想做的是在iframe中捕获keydown事件并做其他事情。我在网上搜索,但所有的材料都是关于iframe的,但我面对的是iframe中的iframe。我的代码在下面,当iframe没有嵌套时,它可以很好地工作。有人能给我一些建议吗?

$("iframe").each( function(i) {             
        var currentIframe=this;                     
        $(this).load(function(event) {
            var iFrameDoc =currentIframe.contentDocument || currentIframe.contentWindow.document;                       
            $(iFrameDoc).find("input").each( function(i) {
                $(this).keydown(function(event) {                                   
                  event.stopPropagation();      
                });                     
            });
            $(iFrameDoc).keydown(function(event) {                  
                var code = (event.keyCode ? event.keyCode : event.which);   
                var e = jQuery.Event("keydown");                
                e.which = code; // # Some key code value    
                $input.trigger(e);  
            }); 
            $(iFrameDoc).mousemove(function(event) {    
                        currentMousePos.x=currentIframe.offsetLeft+event.pageX; 
                        currentMousePos.y=currentIframe.offsetTop+event.pageY;  
            });                         
        });                 
});

代码$("iframe").each()可以获取嵌套的iframe。也许你可以这样编码$($("iframe").contentWindow).find("iframe").each(...)