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

Javascript Jquery效果问题:如何检测鼠标是否由滚动触发?,javascript,jquery,navigation,mouseover,keypress,Javascript,Jquery,Navigation,Mouseover,Keypress,我还有一个问题,因为这里的回复太快了,所以我又回来了 我想使用“按键导航”,为此,我使用带有向下/向上键的按键事件) 当我的鼠标在一个div(与一张大桌子相邻的div)上时,我按下向下键: 我滚动到下一个td+更改css样式+删除当前样式 再一次,对于每一个事件 因此,由于我的鼠标位于主div上,因此每次我滚动(自动)到某个元素时,都会触发mouseover事件 因此,这种效应被忽略了 这是一个完美的脚本: 用户使用键盘导航:鼠标覆盖被禁用(因此仅使用向上/向下键更改样式) 用户不使用键盘:鼠

我还有一个问题,因为这里的回复太快了,所以我又回来了

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

当我的鼠标在一个div(与一张大桌子相邻的div)上时,我按下向下键:

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

再一次,对于每一个事件

因此,由于我的鼠标位于主div上,因此每次我滚动(自动)到某个元素时,都会触发mouseover事件

因此,这种效应被忽略了

这是一个完美的脚本:

  • 用户使用键盘导航:鼠标覆盖被禁用(因此仅使用向上/向下键更改样式)
  • 用户不使用键盘:鼠标盖更改样式
你能帮我吗

守则:

$("#content tr").mouseover(function() {
    $("#content tr.use,#content tr.sel").removeClass("use sel");
    $(this).addClass("sel");
});
和键盘导航代码:

(再次为我的英语感到抱歉)


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

var keyboardScroll = false;  // Set to true when keyboard scroll begins
                             //     and false when keyboard scroll ends
然后,只有当键盘滚动为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");
    }

});

我真的不明白这里有什么问题。鼠标悬停是在我滚动时触发的。。当我使用keybord导航滚动时,我会在元素上添加效果。该效果被禁用,因为elemen.mouseover也被触发..我已经尝试过了。。它们不起作用,因为scrollTo插件在滚动结束之前设置keyboardScroll=false。。因此,鼠标悬停被触发..:-(@Crupuk-我知道现在你有了
keyNav
变量。奇怪的是它不起作用。插件文档声明
onAfter
在动画完成后运行。看下面的代码:$('content tr')。解除绑定('mouseover');$('content”)。滚动到('-='+$(“#“+id)。outerlight(true)+'px',{'onAfter':函数(){警报(“重新绑定”)$(“#content tr”).bind('mouseover');}});解除绑定事件起作用,但绑定不起作用..可能是因为#content>table>tr是用ajax动态添加的。因此,mouseover是在ajax成功方法中定义的,而bind是在外部调用的,因为keypress设置在“document”上,不需要放在ajax()中(这不简单…:-s-->对不起)
bind()
只要元素当前在页面上就可以工作。它是如何到达那里的并不重要。我不会使用bind/unbind,因为我想不出任何变量不能工作的原因。如果
keyNav
变量超出
mouseover
事件的范围,那么它就不能工作。如果看不到更多的代码,就无法判断。s之后ome测试:它的逻辑是:onAfter set keynav=false,因此检测到鼠标移动,因为鼠标位于某个元素上,所以他被触发了…我已经在mousemove上测试了set keynav=false,但没有更多效果。。