这就是hy head的底部:
$('#hello').mouseenter(function() {
$(this).effect("bounce", { times:1, distance:10 }, 800);
});
我正在链接到jQuery 1.7.2和jQuery UI 1.8。我没有收到任何错误,但是当我将鼠标悬停在#hello div上时,什么也没发生。 有什么想法吗?
谢谢!
答案 0 :(得分:2)
你的jQuery代码看起来很好,所以你很可能错过了document ready
块
所以添加doc ready
处理程序,如
$(function() {
$('#hello').mouseenter(function() {
$(this).effect("bounce", {
times: 1,
distance: 30
}, 800);
});
});
它将确保在DOM
准备就绪时触发该代码。
如果你只使用$("#hello").mouseenter(...)
而不使用任何doc ready block
,那么当DOM中还没有任何带有id hello
的元素时,有可能运行此代码。因此$("#hello")
将返回一个空集,mouseenter
绑定将不起作用。
没有doc ready block
,
.
.
.
<script type="text/javascript">
$("#hello").mouseenter(....);
</script>
.
.
.
.
<div id="hello">Blah Blah....</div>
作为浏览器,按顺序解释标记,它将在面对它时立即执行js代码。当它在这里执行JS块时,它尚未解析<div id="hello">
标签,因为它出现在JS块之后,所以它们当时不在DOM中。
因此,对于上述情况,$("#hello")
为空,因此事件绑定将不起作用。所以将所有JS代码放在document ready
块中就像
$(function){
// put all your JS code here
});