javascript - 悬停在 iframe 上时,如何在 iframe 外部的元素上触发类?

标签 javascript jquery css iframe hover

我有一个带 iframe 的页面。我想在 iframe 之外的元素上触发悬停类。它不是父包装器,它只是 iframe 之外的 DOM 中的一个完全不同的 div。

html:

  <body>

    <div class="a6-expander-wrapper"></div>
    <div class="some-other-div"></div>
    <iframe title="My-Iframe" src="//example.com"></iframe>

  </body>

CSS:

.a6-expander-wrapper-hover {
    opacity: 1 !important;
}

.a6-expander-wrapper {
      height: 44px;
    width: 44px;
   background-color:red;
   opacity: 0;
}

我目前使用的jquery:

var $iframe = $('iframe[title="My-Iframe"]').contents(); 
var hoverItem = $('.a6-expander-wrapper');

$iframe.find('*').mouseover(function () {
    hoverItem.addClass('a6-expander-wrapper-hover');
}).mouseout(function () {
    hoverItem.removeClass('a6-expander-wrapper-hover');
});

这是一个plnkr:http://plnkr.co/edit/2WONkAijTzF2BBsh3p9H?p=preview

正如您从 plnkr 中可以看出的那样,这些都不起作用。我不知道该怎么办。让我知道你会如何解决这个问题。

最佳答案

这应该是您所需要的。无需定位 iFrame 内容然后选择其中的所有内容。您可以将鼠标悬停在 iFrame 本身上。

$(function () {
    var iframe = $('iframe[title="My-Iframe"]'); 
    var hoverItem = $('.a6-expander-wrapper');
    $(iframe).mouseover(function () {
        hoverItem.addClass('a6-expander-wrapper-hover');
    }).mouseout(function () {
      hoverItem.removeClass('a6-expander-wrapper-hover');
    });
});

工作示例:http://plnkr.co/edit/pJdtn9fX8HT9KWSvrOcW?p=preview

关于javascript - 悬停在 iframe 上时,如何在 iframe 外部的元素上触发类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990298/

相关文章:

javascript - Chart JS 分组子标签

javascript - Window 对象通过 typeof 对象测试,但 hasOwnProperty 导致错误

javascript - 根据 DOM,“Range.detach”现在是空操作

jQuery 每个循环一次

html - 根据设备/屏幕大小水平/垂直堆叠 div

javascript - 在 javascript 问题中应用复合 css 规则

javascript - 如何使用 jQuery/JavaScript 将每个字符添加到表单字段中

javascript - TypeError : __jquery2. default.ajax is not a function 当我使用 $ 作为 jquery

jquery - 如何读取/获取 gridview 中一行的 CSS 背景颜色

css - 这个 .something.something 选择器在 css 中意味着什么?