鼠标hover不起作用
我有以下代码无效
我通过弹出窗口创建这个div,通常在弹出窗口中会有20个这样的div。
我正在尝试鼠标hover它不工作,如果我在div本身给它mousover事件它的工作。
任何错误。
$('.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"); });
或者,当您创建 ,直接指定单击事件(这可能是更好的方法) 。