因为它是一个动态生成的iframe,它只包含一个图片列表,我想获取所点击项目的src属性(一个包裹在一个锚标签中的图像)并将其返回给父项或将其保存到一个变量,以后可以由父进程访问。
问题是jQuery是在父窗口中,而不是iframe本身所以我必须使用纯javascript并找到一种方法将变量发送回父级。我试过了:
function(){
$('#fancybox-frame').contents().find('.clickable').click(function(){
alert('hey');
});
来自父窗口的但它不起作用,所以我现在拥有的是图像锚点中的内联onclick
事件:
onClick=\"alert('this does work')\"
如何设法获取孩子的src属性并将其发送回父母?
修改
我也尝试了几种变体:
onclick=\"this.className += 'pickedOne';\"
但我无法正确设置。
iframe中的所有元素都具有以下结构:
<div style=\"width: 300px; height:300px; float: left; margin-right:10px; \"><a onclick=\"this.className += 'pickedOne';\" title='".$value."' href='#'><img class='clickable' src=\"" . $value . "\" border=\"0\"/></a></div>
答案 0 :(得分:0)
你使用jQuery的方式是可以的,我有一个工作方式相同的Web应用程序。 jQuery在父窗口中加载,并使用您使用的相同方法在iframe中触发事件。
可能您使用了错误的ID或类作为选择器。
此外,在尝试附加任何事件侦听器之前,请确保您正在等待加载iframe的内容。
$('#fancybox-frame').load(function() {
$('#fancybox-frame').contents().find('.clickable').click(function(){
alert('hey');
});
});