我想使用javascript获取iframe加载内容中点击元素的内部html内容。
工作jquery代码
var elems = document.getElementsByTagName('iframe');
[].forEach.call(elems, function(el) {
$iframe = $(el.contentWindow.document);
$iframe.find("body").click(function(e){
console.log(e);
});
});
答案 0 :(得分:3)
你的方法不起作用。使用以下方法来传达点击事件。
在Child Html中(在iframe内)
$('body').on('click', function(){
var type = 'bodyClick';
var event = new CustomEvent('frameClick', { detail: type })
window.parent.document.dispatchEvent(event)
})
在父Html中(插入iframe的html )
$(document).ready(function(){
window.document.addEventListener('frameClick', handleEvent, false)
function handleEvent(e) {
if(e.detail=="bodyClick") {
//you can write your code here.
}
}
})