绑定函数到带参数的不同事件

时间:2013-11-26 12:48:51

标签: javascript jquery html

我有2个触发两个函数的eventlisteners。但是我认为应该可以让它们触发相同的功能。

eventlisteners正在侦听击键和鼠标滚轮。

$(document).mousewheel(onMouseWheel);

function onMouseWheel(event,delta)
{
  if(delta<0){
  code...
  }
  else if(delta>0){
  code...
  }
}

$(document).keydown(onKeyDown);

function onKeyDown(e)
{
   if (e.keyCode == 37){
   code...
   } 
   else if (e.keyCode == 39){
   code...
   }
}

是否可以将这两者结合起来,所以我只有一个功能?

1 个答案:

答案 0 :(得分:0)

我建议你这样做:

function onMouseWheel(event,delta) {
    if(delta<0){
        detectDown();
    } else if(delta>0){
        detectUp();
    }
}

function onKeyDown(e) {
    if (e.keyCode == 37){
        detectDown();
    } else if (e.keyCode == 39){
        detectUp();
    }
}

因为keydown和wheel事件是如此不同。我猜你想把这些功能结合起来;对于keydown和wheel事件,detectDown是相同的。这样做可以捕捉到这种意图。