Jquery效果问题:如何检测滚动是否触发鼠标悬停?

Cru*_*puk 5 javascript navigation jquery keypress mouseover

我有另一个问题,因为回复是快到这里我再回来!!

我想使用"键导航",为此,我使用带有向下/向上键的按键事件)

当我的鼠标位于一个div(div正在争夺一张大桌子)并且我拉下键时:

我滚动到下一个td +更改css样式+删除当前样式

再次,对于每个事件..

所以,因为我的鼠标位于主div上,每次我滚动(自动)到一个元素时,都会触发mouseover事件.

所以,错过了效果..

这是完美的脚本:

  • 用户使用键盘导航:禁用鼠标悬停(因此仅使用向上/向下键更改样式)
  • 用户不使用键盘:鼠标悬停改变样式

你可以帮帮我吗 ?

代码 :

$("#content tr").mouseover(function() {
    $("#content tr.use,#content tr.sel").removeClass("use sel");
    $(this).addClass("sel");
});
Run Code Online (Sandbox Code Playgroud)

键盘导航代码:http://pastebin.com/Hgn5Y1FV

(对不起我的英文..)

谢谢

use*_*716 0

尝试这个。每当滚动(从箭头键)开始时,将其设置为 true,当滚动停止时,将标记设置为 false。

var keyboardScroll = false;  // Set to true when keyboard scroll begins
                             //     and false when keyboard scroll ends
Run Code Online (Sandbox Code Playgroud)

然后mouseover仅当 KeyboardScroll 为 false 时才运行代码;

$("#content tr").mouseover(function() {

    if( !keyboardScroll ) {  // Run code only if keyboard scroll is not true
        $("#content tr.use,#content tr.sel").removeClass("use sel");
        $(this).addClass("sel");
    }

});
Run Code Online (Sandbox Code Playgroud)