Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于jQuery1.7,UI选项卡上的hoverIntent事件不会触发_Jquery_Jquery Ui Tabs_Hoverintent - Fatal编程技术网

由于jQuery1.7,UI选项卡上的hoverIntent事件不会触发

由于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(

因为我已经升级到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(  
        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解决了这个问题