javascript - jQuery - 将两个事件绑定(bind)到 AND 运算符

标签 javascript jquery events

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

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

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

因此,为了调用 barfuncfoobar 都需要处于事件状态。这非常有用,因为我正在用 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/

相关文章:

javascript - 缓存来自 API 查询的信息 - 限制为每 10 秒 10 条

python - (python) matplotlib pyplot show() .. 阻塞与否?

mysql - 如何从 MySQL Workbench 异步运行查询

Javascript - 在闭包中使用函数构造函数是个坏主意吗?

javascript - 我是否应该将我的数据分布在多个 cookie 中以解决 4k 限制

javascript - 尝试调试 Streamline.js 生成的 javascript 时未捕获的引用

php - javascript读取php函数

javascript - Jasmine 与五行的位置

jquery - 当我明确将其隐藏时,为什么这个 div 标签仍然可见?

events - 阻止 TreeView 在 VB6 中触发事件?