首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测iframe内的单击事件

检测iframe内的单击事件
EN

Stack Overflow用户
提问于 2012-11-18 18:28:59
回答 10查看 125.9K关注 0票数 51

我正在为TinyMCE编写一个插件,但在检测iframe中的点击事件时遇到了问题。

从我的搜索中,我得出了这个结论:

正在加载iframe:

代码语言:javascript
复制
<iframe src='resource/file.php?mode=tinymce' id='filecontainer'></iframe>

iframe中的HTML:

代码语言:javascript
复制
<input type=button id=choose_pics value='Choose'>

jQuery:

代码语言:javascript
复制
//Detect click
$("#filecontainer").contents().find("#choose_pic").click(function(){
    //do something      
}); 

我见过的其他帖子通常都有不同域名的问题(这篇文章没有)。但是,仍然没有检测到该事件。

这样的事情能做吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-12-09 05:26:39

我是这样解决这个问题的:

代码语言:javascript
复制
$('#filecontainer').load(function(){

        var iframe = $('#filecontainer').contents();

        iframe.find("#choose_pics").click(function(){
               alert("test");
        });
});
票数 65
EN

Stack Overflow用户

发布于 2012-11-18 18:32:38

我不确定,但你可以直接用

代码语言:javascript
复制
$("#filecontainer #choose_pic").click(function() {
    // do something here
});

或者,您也可以在iframe中添加一个<script>标记(如果您有权访问其中的代码),然后在框架中使用window.parent.DoSomething(),其中包含代码

代码语言:javascript
复制
function DoSomething() {
    // do something here
}

在父级中。如果这些都不起作用,请尝试window.postMessageHere is some info on that

票数 6
EN

Stack Overflow用户

发布于 2016-03-30 18:43:41

我知道这很旧,但是您的代码中的ID不匹配,一个是choose_pic,一个是choose_pics

代码语言:javascript
复制
<input type=button id=choose_pics value='Choose'>

$("#filecontainer").contents().find("#choose_pic").click(function(){
    //do something      
}); 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13439303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档