转载来自:http://blog.sina.com.cn/s/blog_ad5c48810101e3mh.html
看这个例子:
$(document).ready(
function
(){
$(
'.some-class'
).bind({
hover:
function
(e) {
// Hover event handler
alert(
"hover"
);
},
click:
function
(e) {
// Click event handler
alert(
"click"
);
},
blur:
function
(e) {
// Blur event handler
}
});
});
奇怪的事情发生了,这里的 “hover”
事件完全没有反应。 而像 “click” 和 “blur” 这两个都能正常调用。
同时,如下的代码也是正常运行的:
$(
".some-class"
).hover(
function
(){
// stuff
})
为什么
答案是:
应该使用 mouseenter 和 mouseleave 这两个事件来代替 (这也是 .hover() 函数中使用的事件) 所以完全可以直接像这样来引用:
$(document).ready(
function
(){
$(
'.some-class'
).bind({
mouseenter:
function
(e) {
// Hover event handler
alert(
"hover"
);
},
mouseleave:
function
(e) {
// Hover event handler
alert(
"hover"
);
},
click:
function
(e) {
// Click event handler
alert(
"click"
);
},
blur:
function
(e) {
// Blur event handler
}
});
});
因为 .hover() 是