Використовуючи jQuery, наступні за дією ідентичні:
$('a').click(function(){ doSomething(); });
$('a').on('click', function(){ doSomething(); });
Однак у input
випадку події лише другий зразок працює в браузерах, які я тестував.
Таким чином, ви очікуєте, що це спрацює, але це НЕ (принаймні на даний момент):
$(':text').input(function(){ doSomething(); });
Знову ж таки, якщо ви хочете скористатися делегуванням події (наприклад, налаштувати подію на до того, #container
як ваш input.text
доданий до DOM), це має пам’ятати:
$('#container').on('input', ':text', function(){ doSomething(); });
На жаль, знову ж таки, це НЕ працює зараз!
Тільки ця схема працює:
$(':text').on('input', function(){ doSomething(); });
ВИДАЛЕНО БІЛЬШЕ СУЧАСНОЇ ІНФОРМАЦІЇ
Я, безумовно, можу підтвердити, що ця закономірність:
$('#container').on('input', ':text', function(){ doSomething(); });
ЗАРАЗ працює також у всіх "стандартних" браузерах.