Привязка одного обработчика событий к нескольким событиям с помощью jQuery - PullRequest
17 голосов
/ 17 января 2011

У меня есть следующий div с различными функциями для onblur, onmousedown, onmouseup и onfocus. Я хочу минимизировать код и иметь только один вызов функции внутри div для всех состояний функции. Я хочу сделать это с помощью jquery. Другими словами. Я хочу создать функцию с именем functionAll и поместить все функции function1 в функцию 4 с состоянием мыши внутри, а затем просто использовать functionAll внутри Div. Как я могу сделать что-то подобное?

<div contentEditable="true"
     onblur="function1();"
     onmousedown="return function2(event);"
     onmouseup="function3();"
     onfocus="function4();">
    test test
</div>

1 Ответ

48 голосов
/ 17 января 2011

Вы должны поместить id в div, сказать «test», затем:

$('#test').bind('blur mousedown mouseup focus', function (e) {
    // This is your combined function
    // Inside here you can use e.type to find out whether it was a
    // "blur", "mousedown", "mouseup", etc...
});

HTML будет выглядеть так:

<div id="test" contentEditable="true">
    test test
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...