Javascript 获取在iframe中单击的元素的类?

Javascript 获取在iframe中单击的元素的类?,javascript,jquery,html,Javascript,Jquery,Html,如何获取在iframe中单击的元素的类 HTML: 注入js会更容易吗 我也可以添加css吗 感谢您的帮助 这里应该有足够的工具来做你想做的事 此外,除非稍后设置src,否则无法使用load事件,因为在运行代码时它已经触发 小提琴的工作原理是: 因此,有更严格的沙箱问题,但也看看 $(函数(){ $(“.iframe”)。每个(函数(i){ var doc=$(this)[0].contentWindow.document; 变量$body=$('body',doc); $body.html

如何获取在iframe中单击的元素的类

HTML:

注入js会更容易吗

我也可以添加css吗


感谢您的帮助

这里应该有足够的工具来做你想做的事

此外,除非稍后设置src,否则无法使用load事件,因为在运行代码时它已经触发

小提琴的工作原理是:

因此,有更严格的沙箱问题,但也看看

$(函数(){
$(“.iframe”)。每个(函数(i){
var doc=$(this)[0].contentWindow.document;
变量$body=$('body',doc);
$body.html(`Click me${i}`);//或设置源代码
$body.on(“单击”),函数(e){//分配一个处理程序
console.log(e.target.id);
});
});  
});

这里应该有足够的工具来做你想做的事情

此外,除非稍后设置src,否则无法使用load事件,因为在运行代码时它已经触发

小提琴的工作原理是:

因此,有更严格的沙箱问题,但也看看

$(函数(){
$(“.iframe”)。每个(函数(i){
var doc=$(this)[0].contentWindow.document;
变量$body=$('body',doc);
$body.html(`Click me${i}`);//或设置源代码
$body.on(“单击”),函数(e){//分配一个处理程序
console.log(e.target.id);
});
});  
});


是否存在任何控制台错误?也许可以尝试
iframe.contents().find(#someContainer”).on(“单击”,函数(事件){
,并在
上使用
而不是
bind
-加载事件无法使用,因为在运行代码时它已经触发。如果我执行控制台日志(事件),则没有控制台错误使用您的代码,它不会在控制台中触发或输出任何内容…我需要单击元素(目标),并在iframe中单击所有元素的父级…是否存在任何控制台错误?可能尝试
iframe.contents().find(“#someContainer”)。on(“单击”,函数(事件){
并在
上使用
而不是
绑定
-也不能使用加载事件,因为在运行代码时加载事件已经触发。没有控制台错误,如果我对代码执行console.log(事件),它不会在控制台内触发或输出任何内容…我需要单击元素(目标),以及iframe中的所有it
s父级。。。
<input id="tag" type="text">

<iframe id="framer" src="SameDomainSamePort.html"></iframe>
$(document).ready(function () {
    $("iframe").each(function () {
        //Using closures to capture each one
        var iframe = $(this);
        iframe.on("load", function () { //Make sure it is fully loaded
            iframe.contents().click(function (event) {
                iframe.trigger("click");
            });
        });

        iframe.bind("click", function(e) {
            // always returns the iframe rather than the element selected within the iframe...
            $("#tag", window.top.document).val($(e)[0].target.className);
            return false;
        });
    });
});