我有一个页面("主页"),里面有一个iFrame。我想单击一个按钮,然后将悬停事件添加到iFrame的DOM中的特定元素(.header-logo
)(该页面位于同一个域中,我已经访问并更改了许多元素一个问题)。
因此,我将此附加到主页上的点击事件:
$('<script>').attr('type', 'text/javascript').text(
'$(".header-logo").bind("mouseenter", function(e) { alert("On Hover!"); }); alert("Hello World!");')
.appendTo($("#mainIframe").contents().find('head'));
&#34; Hello World!&#34;按预期提醒流行音乐。但是 - jQuery部分 - 不起作用。悬停时没有任何事情发生 - 控制台中没有错误...
在问这个之前我尝试了很多选项...我尝试了on()
,我尝试了delegate()
...还添加了:e.preventDefault();
......似乎没有任何效果。
我注意到的是在Chrome中 - 在调试模式下,我看到脚本添加得很好:
<script type="text/javascript">$(".header-logo").bind("mouseenter", function(e) { alert("On Hover!"); }); alert("Hello World!");</script>
但它仍然没有按预期工作......但是(戏剧性的声音效果) - 在更改脚本中的任何内容时(即使只是添加空格) - 弹出窗口再次显示(Hello World!
) - 现在 - 当我悬停.header-logo
时 - IT工作!弹出窗口显示(On Hover!
)!
这里发生了什么?我该如何解决?