由于jQuery1.7,UI选项卡上的hoverIntent事件不会触发
因为我已经升级到jQuery 1.7,所以hoverIntent事件在UI选项卡上不再起作用。从jQuery1.7开始,选项卡立即切换,而不是使用hoverIntent 下面是我用来初始化UI选项卡的代码:由于jQuery1.7,UI选项卡上的hoverIntent事件不会触发,jquery,jquery-ui-tabs,hoverintent,Jquery,Jquery Ui Tabs,Hoverintent,因为我已经升级到jQuery 1.7,所以hoverIntent事件在UI选项卡上不再起作用。从jQuery1.7开始,选项卡立即切换,而不是使用hoverIntent 下面是我用来初始化UI选项卡的代码: $("#featured").tabs({event: "hoverintent"}).tabs({fx:{opacity: "toggle", duration: 250}}).tabs("rotate", 7000, true); $("#featured").hover(
$("#featured").tabs({event: "hoverintent"}).tabs({fx:{opacity: "toggle", duration: 250}}).tabs("rotate", 7000, true);
$("#featured").hover(
function() {
$("#featured").tabs("rotate",0,true);
},
function() {
$("#featured").tabs("rotate",7000,true);
}
);
这是我在页面中包含的用于hoverIntent的js事件:
var cfg = ($.hoverintent = {
sensitivity: 7,
interval: 100
});
$.event.special.hoverintent = {
setup: function() {
$(this).bind("mouseover", jQuery.event.special.hoverintent.handler);
},
teardown: function() {
$(this).unbind("mouseover", jQuery.event.special.hoverintent.handler);
},
handler: function(event) {
event.type = "hoverintent";
var self = this,
args = arguments,
target = $(event.target),
cX, cY, pX, pY;
function track(event) {
cX = event.pageX;
cY = event.pageY;
};
pX = event.pageX;
pY = event.pageY;
function clear() {
target.unbind("mousemove", track).unbind("mouseout", arguments.callee);
clearTimeout(timeout);
}
function handler() {
if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
clear();
jQuery.event.handle.apply(self, args);
} else {
pX = cX; pY = cY;
timeout = setTimeout(handler, cfg.interval);
}
}
var timeout = setTimeout(handler, cfg.interval);
target.mousemove(track).mouseout(clear);
return true;
}
};
var cfg=($.hoverintent={
敏感度:7,
间隔时间:100
});
$.event.special.hoverintent={
设置:函数(){
$(this.bind(“mouseover”,jQuery.event.special.hoverintent.handler);
},
拆卸:函数(){
$(this.unbind(“mouseover”,jQuery.event.special.hoverintent.handler);
},
处理程序:函数(事件){
event.type=“hoverintent”;
var self=这个,
args=参数,
target=$(event.target),
cX,cY,pX,pY;
功能跟踪(事件){
cX=event.pageX;
cY=event.pageY;
};
pX=event.pageX;
pY=event.pageY;
函数clear(){
unbind(“mousemove”,track).unbind(“mouseout”,arguments.callee);
clearTimeout(超时);
}
函数处理程序(){
if((数学绝对值(pX-cX)+数学绝对值(pY-cY))
这里似乎有一个补丁(针对UI手风琴):
请参见演示:
然而,我不知道如何让它重新工作。必须对上述代码进行哪些更改?很高兴有人帮忙 将jQuery更新到v1.7.1解决了这个问题