Подтвердить что ты не робот

Связывание нескольких событий с методом jQuery 'live'

jQuery 'live' метод не может обрабатывать несколько событий. Кто-нибудь знает о хорошем обходном пути для присоединения нескольких событий к функции, которая проверяет текущие и будущие элементы? Или я застрял с использованием повторяющихся живых методов для каждого обработчика событий, который мне нужен?

Пример. Я пытаюсь сделать что-то вроде:

$('.myclass').live('change keypress blur', function(){
  // do stuff
});
4b9b3361

Ответ 1

Начиная с jQuery 1.7, функция "вкл" - это то, что вы ищете:

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

Ответ 2

В 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

В 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

Попробуйте следующим образом:

("#button").bind("click keyup", function(){

// your code goes here

})