鼠标悬停在框架中的所有元素上仅响应单击

时间:2015-03-17 03:16:28

标签: javascript jquery html css iframe

我试图将处理程序应用于iframe中的所有元素(位于同一个域中),但我无法弄清楚为什么函数只会在点击时触发。我担心这可能与iframe只在我点击它时才有效这一事实有关。我已经在jsfiddle中看到了这个应用程序,例如http://jsfiddle.net/danmana/pMBw2/

这基本上是我的代码(我尝试使用委托函数模仿jsfiddle并得到相同的结果):

            $('iframe').contents().on("mouseover", "*", function() {
                 $(this).css("background-color", "yellow");
            });

修改 使用那个jsfiddle(http://jsfiddle.net/danmana/pMBw2/)我发现如果你把它切换到jquery 2.1.0的最新版本,那么代码不再有效,看起来1.8.3是最新的代码。

2 个答案:

答案 0 :(得分:0)

模仿你提到的jsfiddle应该可以正常工作,你必须使用delegate()函数:

Working js fiddle

<iframe src="http://fiddle.jshell.net"></iframe>

var $c = $('iframe').contents();

$c.delegate('div', "hover", function() {
      $(this).css("background-color", "yellow");
});

答案 1 :(得分:-1)

这对我有用 -

var $c = $('iframe').contents();
$c.delegate('div', 'hover', function() {
    $(this).css("background-color", "yellow");
});