1

我有检测用户空闲状态的功能。如果发生任何事件,我想更新数据库。现在我有这样的脚本

$("body").mousemove(function(event) {
myfuction();
});

我想像这样转换上面的脚本

$("body").anyOfTheEvent(function(event) {
myfuction();
});

我怎样才能做到这一点?

4

5 回答 5

2

您可以拥有一系列您感兴趣的事件并订阅所有这些事件

var events = ['click','mousemove','keydown'] // etc
$.each(events,function(i,e){
    $('body')[e](myfuction);    
});

在此处获取事件列表:http: //api.jquery.com/category/events/

于 2012-08-08T09:46:20.197 回答
2

您可以使用 e.type 属性找到事件名称。试试看这个例子

  $('#element').bind('click dblclick mousedown mouseenter mouseleave',
                     function(e){
                         alert("EventName:"+e.type);
                     });
    ​

jsfiddle 在这里http://jsfiddle.net/qp2PP/

于 2012-08-08T09:48:58.520 回答
1

您可以使用 bind() 绑定多个事件

$('#foo').bind('click mousemove', function(evt) {
    console.log(evt.type);
});
于 2012-08-08T09:46:51.883 回答
0

只需使用on(), 以空格分隔的事件列表:

$('body').on('mousedown click', function(e) {
    var  eventType = e.type;
    // do stuff
});

参考:

于 2012-08-08T09:50:09.533 回答
0

您可以直接绑定到文档,而不是绑定到特定元素。

$(document).bind('click mousemove', function(evt)       {
    document.getElementById("demo").innerHTML = Math.random();
});

CODEPEN中的示例

于 2017-08-04T02:05:37.640 回答