鼠标hover不起作用

我有以下代码无效
我通过弹出窗口创建这个div,通常在弹出窗口中会有20个这样的div。
我正在尝试鼠标hover它不工作,如果我在div本身给它mousover事件它的工作。
任何错误。

Almond Branches in Bloom, San Remy, c.1890

 $('.clstImages img').hover(function () { alert("mouseover"); }, function () { alert("mouseout") }); 

您的hoverfunction很好,但您需要将其包装在$(document).ready()函数中。

我相信你在DOM完成加载之前尝试运行脚本。 在执行其内容之前,使用$(document).ready()等待DOM完成加载。 这是对jQuery .ready()函数的引用

您还应该记得关闭图片标签

不是有效的HTML

是有效的HTML

此外,您应该记住结束您的JavaScript声明。 以下行未终止。

 alert("mouseout") 

它应该是

 alert("mouseout"); 

注意最后的分号

这是一个工作演示 http://www.jsfiddle.net/R7KmW/


编辑

在您单击方向箭头之前,您的元素似乎并未实际填充。 您可能想尝试使用live()或delegate()。 基本上这两个Jquery方法允许您绑定到未来的DOM元素(使用代码插入的元素,即AJAX,动态创建的元素)。 我知道这种类型的答案已经发布给你了,但我真的没有时间调试你的整个页面以解决问题。 我为没有提供更好的答案而道歉,但也许您可以创建一个只有一个具有相同function的图像的小测试,并尝试以这种方式进行调试。

 $(document).ready(function () { $('.clstImages img').live('mouseover', function () { alert("mouseover"); }) .live('mouseout', function () { alert("mouseout"); }); }); 

更新 标签是自动关闭的,所以你应该写注意最后的斜杠。**而不是

使用jQuery的live()方法

描述:为现在和将来与当前选择器匹配的所有元素附加事件的处理程序。

 $('.clstImages img').live("mouseenter", function () { alert("mouseenter"); }); $('.clstImages img').live("mouseleave", function () { alert("mouseleave"); }); 

或者,当您创建 ,直接指定单击事件(这可能是更好的方法)