【问题标题】:JQuery: Show mouseover of subelement when parent element is mouseoveredJQuery:当父元素鼠标悬停时显示子元素的鼠标悬停
【发布时间】:2012-07-17 17:16:29
【问题描述】:

当我将鼠标悬停在父元素上时,如何将鼠标悬停在 img 元素上 [以便显示 ALT 属性]?

例子:

<script type="text/javascript">
jQuery(document).ready(function(){
    jQuery('div.dorp').mouseover(function(){
        jQuery(this).find("img").mouseover();
    }).mouseout(function(){
        jQuery(this).find("img").mouseout();
    })
});
</script>

这段代码使我的firefox webbrowser崩溃,我需要找到一种方法来触发img的alt属性,当我将鼠标悬停在比图像大得多的图像容器上时。

【问题讨论】:

  • 你可以在容器中添加alt属性吗?使用工具提示插件怎么样?
  • 您有明显的拼写错误 - .mouseover();j 缺少括号。
  • 鼠标悬停时显示标题属性,而不是 alt。缺少图像时会显示 Alt。
  • 我正在使用一个名为 TipsyTooltip 的工具提示插件,它会显示带有 img alt 属性内容的类似 facebook 的工具提示。 @Ivan:嗯,我没注意,但我可以创建和使用自定义属性来触发工具提示。谢谢!
  • @FlavorScape :还有很多'3',是的:)

标签: javascript jquery mouseover


【解决方案1】:

不应该吗

jQuery(this).find("img").mouseover();?

鼠标悬停是一种方法,而不是属性

我假设该行下方的流浪 j 只是您在编写问题时犯的错字,而不是在您的实际代码中。

更新:

发了Fiddle

实际发生的是mouseover 事件同时在divimg 上触发。 img 上的 mouseover 事件冒泡返回到 div,这会导致 img 上的另一个 mouseover 等无限循环。我的浏览器给出错误“未捕获的 RangeError:超出最大调用堆栈大小”。这可能是你的 FF 崩溃的原因。

对此的解决方案(虽然理想情况下,我同意其他海报,因为您应该只使用工具提示插件)是在 img 上添加一个 mouseover 事件处理程序也停止传播。但是,这仍然不能解决您最初需要在子图像上获取工具提示的问题。

Updated Fiddle

【讨论】:

  • 代码的语法是正确的,但是我得到了错误jQuery(this) &lt;---- missing formal parameter
猜你喜欢
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
相关资源
最近更新 更多