В Quirksmode есть замечательная статья о продвинутой регистрации событий .
Краткая форма: Вы можете связать несколько событий, используя addEventListener
(attachEvent
в более старых версиях IE).
if (someform.addEventListener) {
someform.addEventListener('submit', somefunc, false);
} else {
someform.attachEvent('onsubmit', somefunc);
}
Для их удаления вы можете использовать removeEventListener
и detachEvent
соответственно.
Довольно быстро вы будете раздражены повторными наборами addEventListener
и attachEvent
, и вы можете подумать о создании общего кода, связывающего события для вас. К счастью, другие программисты придерживались той же идеи, и многие библиотеки доступны для элегантного управления событиями. jQuery
имеет тенденцию быть библиотекой выбора, потому что привязка события так же просто, как:
$('#formid').submit(somefunc);
универсальный метод привязки событий:
$('#formid').on('submit', somefunc);
для отмены привязки вы можете использовать:
$('#formid').off('submit', somefunc);
Хотя все это хорошо документировано в jQuery API .