Связывание нескольких событий с методом jQuery 'live'
jQuery 'live' метод не может обрабатывать несколько событий. Кто-нибудь знает о хорошем обходном пути для присоединения нескольких событий к функции, которая проверяет текущие и будущие элементы? Или я застрял с использованием повторяющихся живых методов для каждого обработчика событий, который мне нужен?
Пример. Я пытаюсь сделать что-то вроде:
$('.myclass').live('change keypress blur', function(){
// do stuff
});
Ответы
Ответ 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
})