是否可以将两个事件绑定(bind)到 AND 逻辑运算符,以便两个事件都必须处于事件状态才能调用函数?假设我有这个:
foobar.bind("foo AND bar", barfunc);
function barfunc(e) {
alert("foobar!");
}
因此,为了调用 barfunc
,foo
和 bar
都需要处于事件状态。这非常有用,因为我正在用 div 制作 slider /搜索器(无法使用 jquery UI slider ),并且当我按下鼠标按钮并将鼠标悬停在 div 上时,我需要它来调用该函数。
最佳答案
使用这样的语法是不可能的——事件永远不会在完全相同的时间触发,一个事件总是在另一个事件之后发生。也就是说,您可以执行如下操作(基于您的示例的伪代码):
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;
});
关于javascript - jQuery - 将两个事件绑定(bind)到 AND 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31408800/