javascript - 正在发生操作的多个事件

标签 javascript jquery

当您有以下代码时,如何确定正在发生哪个操作或事件

$('#mydiv').on('click mousedown mousemove', function(event) { //<--multiple event
    if (action is mousedown) {

    }
    else if(action is mousemove){

    }
    else{
        //mouse click
    }
});

欢迎使用 jsFiddle 示例。

最佳答案

event.type 将以字符串形式获取事件类型:

$('#mydiv').on('click mousedown mousemove', function(event) {
    switch(event.type) {
        case 'click':
                //do something on click
            break;
        case 'mousedown':
                //do something on mousedown
            break;
        case 'mousemove':
                //do something on mousemove 
            break;

       .....etc.
    }

});

您也可以这样做:

$('#mydiv').on(
   click: function() {
        //do something on click
   },
   mousedown: function() {
       //do something on mousedown
   },
   mousemove: function() {
      //do something on mousemove
   }
});

关于javascript - 正在发生操作的多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13754421/

相关文章:

jquery - jquery pageload 事件的顺序是什么?

javascript - jQuery 如何在父节点上使用额外的选择条件?

javascript - jQuery 加载函数不适用于绑定(bind)

javascript - 如何将 HTML 文件作为模板导入 Rollup 并编译为串联字符串

javascript - 在 react 中调用子函数?

javascript - 使用 Javascript 更改 Google Drive 的文件权限

javascript - Select2 从 <option> 中剥离所有属性

javascript - 为多模块 Angular 应用程序创建路由

javascript - 函数不从 CSS 模式中的 js 数据加载所有元素

javascript - 在Javascript中根据其他数组值将数组填充到所需的数量