代码之家  ›  专栏  ›  技术社区  ›  Will Peavy

将多个事件绑定到jquery“live”方法

  •  16
  • Will Peavy  · 技术社区  · 15 年前

    jquery的“live”方法无法处理多个事件。是否有人知道将多个事件附加到一个轮询当前和未来元素的函数的良好解决方案?或者我是否一直在为我需要的每个事件处理程序使用重复的实时方法?

    示例-我正在尝试执行以下操作:

    $('.myclass').live('change keypress blur', function(){
      // do stuff
    });
    
    4 回复  |  直到 7 年前
        1
  •  14
  •   TeChn4K    11 年前

    从jquery 1.4.3开始,通过传递事件类型/处理程序对的映射,可以同时绑定多个活动事件处理程序:

    $("a").live({
      click: function() {
        // do something on click
      },
      mouseover: function() {
        // do something on mouseover
      }
    });
    

    http://api.jquery.com/live/

    从jQuery 1.7 “开”功能更好:

    $("a").on({
        click: function() {
            // do something on click
        },
        mouseenter: function() {
           // do something on mouseenter
        },
        mouseleave: function() {
             // do something on mouseleave
        }
    });
    
        2
  •  19
  •   Chris Fulstow    14 年前

    自jquery 1.4.1起 .live() 可以接受多个空间分隔的事件,类似于中提供的功能 .bind() . 例如,我们可以同时“实时绑定”mouseover和mouseout事件,如下所示:

    $('.hoverme').live('mouseover mouseout', function(event) {
      if (event.type == 'mouseover') {
        // do something on mouseover
      } else {
        // do something on mouseout
      }
    });
    
        3
  •  7
  •   marc_s HarisH Sharma    7 年前

    在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 ]

        4
  •  1
  •   Peter O. Manuel Pinto    12 年前

    尝试以下方法:

    ("#button").bind("click keyup", function(){
    
    // your code goes here
    
    })