Javascript jQuery-将两个事件绑定到AND运算符

Javascript jQuery-将两个事件绑定到AND运算符,javascript,jquery,events,Javascript,Jquery,Events,是否可以将两个事件绑定到AND逻辑运算符,以便调用函数时两者都必须处于活动状态?假设我有这个: foobar.bind("foo AND bar", barfunc); function barfunc(e) { alert("foobar!"); } 因此,为了调用barfunc,需要激活foo和bar。这将非常有用,因为我正在用div制作一个滑块/搜索器(不能使用jquery UI滑块),当我按下鼠标按钮并将鼠标悬停在div上时,我需要它来调用函数。不可能使用这样的语法:事件永远

是否可以将两个事件绑定到AND逻辑运算符,以便调用函数时两者都必须处于活动状态?假设我有这个:

foobar.bind("foo AND bar", barfunc);

function barfunc(e) {
    alert("foobar!");
}

因此,为了调用
barfunc
,需要激活
foo
bar
。这将非常有用,因为我正在用div制作一个滑块/搜索器(不能使用jquery UI滑块),当我按下鼠标按钮并将鼠标悬停在div上时,我需要它来调用函数。

不可能使用这样的语法:事件永远不会在同一时间触发,一个事件总是在另一个事件之后触发。也就是说,您可以执行以下操作(基于示例的伪代码):


你可能想在
mousedown
中绑定
mousemove
。我该怎么做?我会做一些类似于Ryan回答的东西。您必须一次处理1个事件。然后可以将结果存储在变量中。在每个事件处理程序中,您都可以使用这些变量进行检查。请友好地编辑您的问题,这显然是一个问题。值得注意的是,如果您只是在同一个目标上触发“mousedown”和“mouseenter”事件时才触发某些行为,“mouseenter”的处理程序可能是多余的。一定有更简单的方法。我尝试了这段代码,它使我的整个代码无效,jshint说它也是有效的。如果你将两个事件绑定到同一个目标,你可能只需要“mousedown”,因为你的鼠标必须在点击区域(悬停)才能点击。我发布的伪代码是为了演示如何跟踪给定元素上是否同时发生两个事件。目标是滑块/搜索器,因此我需要能够拖动手柄并来回移动。只需使用我的答案中的概念为您构建一个滑块:。这应该有助于你开始。
var isHovering = false,
    isClicking = false;

function barfunc(e) {
    if(isHovering && isClicking){
       alert("foobar!");
    }
}

foobar.on('mousedown', function(event){

    isClicking = true;
    barFunc(event);

}).on('mouseup', function(event){

    isClicking = false;

}).on('mouseenter', function(event){

    isHovering = true;
    barFunc(event);

}).on('mouseleave', function(event){

    isHovering = false;

});