jQuery多个事件触发相同的功能

有没有办法让keyupkeypressblurchange事件在同一行中调用相同的函数,还是必须分别执行它们?

我遇到的问题是我需要使用db查找来验证一些数据,并且希望确保验证不会错过输入或粘贴到框中的天气。


您可以使用.on()将函数绑定到多个事件:

$('#element').on('keyup keypress blur change', function(e) {
    // e.type is the type of event fired
});

或者只是将该函数作为参数传递给常规事件函数:

var myFunction = function() {
   ...
}

$('#element')
    .keyup(myFunction)
    .keypress(myFunction)
    .blur(myFunction)
    .change(myFunction)

从jQuery 1.7开始, .on()方法是将事件处理程序附加到文档的首选方法。 对于早期版本, .bind()方法用于将事件处理程序直接附加到元素。

$(document).on('mouseover mouseout',".brand", function () {
  $(".star").toggleClass("hovered");
})

我一直在寻找一种方式来获得事件类型,当jQuery同时收听多个事件时,Google将我放在这里。

所以,对于那些有兴趣的人来说, event.type是我的答案:

$('#element').on('keyup keypress blur change', function(event) {
    alert(event.type); // keyup OR keypress OR blur OR change
});

更多信息在jQuery文档。

链接地址: http://www.djcxy.com/p/2869.html

上一篇: jQuery multiple events to trigger the same function

下一篇: ! preceding function in javascript?