将多个事件绑定到jQuery“live”方法
jQuery的’live’方法无法处理多个事件。 有没有人知道将多个事件附加到轮询当前和未来元素的函数的好方法? 或者我是否因为我需要的每个事件处理程序而使用重复的实时方法?
示例 – 我正在尝试执行以下操作:
$('.myclass').live('change keypress blur', function(){ // do stuff });
从jQuery 1.4.3开始,您可以通过传递事件类型/处理程序对的映射来同时绑定多个实时事件处理程序:
$("a").live({ click: function() { // do something on click }, mouseover: function() { // do something on mouseover } });
从jQuery 1.7开始 ,“on”function更好:
$("a").on({ click: function() { // do something on click }, mouseenter: function() { // do something on mouseenter }, mouseleave: function() { // do something on mouseleave } });
从jQuery 1.4.1开始, .live()可以接受多个空格分隔的事件,类似于.bind()中提供的function。 例如,我们可以同时“实时绑定”mouseover和mouseout事件,如下所示:
$('.hoverme').live('mouseover mouseout', function(event) { if (event.type == 'mouseover') { // do something on mouseover } else { // do something on mouseout } });
在jQuery 1.7中有一个API,可以让你轻松地完成它…
$(".myClass").on({ click: function(){ alert("You click on me!"); }, mouseenter: function(){ alert("Do you want click on me?"); } });
在我看来,这种方法是完全有效的,并收集你可以在元素的事件中使用的所有能力….
看一下这个页面.on()
[jQuery 1.7 API]
试试这种方式:
("#button").bind("click keyup", function(){ // your code goes here })