Sử dụng jQuery, các hiệu ứng sau giống hệt nhau:
$('a').click(function(){ doSomething(); });
$('a').on('click', function(){ doSomething(); });
input
Tuy nhiên, với sự kiện này, chỉ có mẫu thứ hai dường như hoạt động trong các trình duyệt tôi đã thử nghiệm.
Do đó, bạn mong muốn nó hoạt động, nhưng nó KHÔNG (ít nhất là hiện tại):
$(':text').input(function(){ doSomething(); });
Một lần nữa, nếu bạn muốn tận dụng ủy quyền sự kiện (ví dụ: để thiết lập sự kiện vào #container
trước khi bạn input.text
được thêm vào DOM), điều này sẽ xuất hiện trong tâm trí:
$('#container').on('input', ':text', function(){ doSomething(); });
Đáng buồn thay, một lần nữa, nó hiện không hoạt động!
Chỉ mẫu này hoạt động:
$(':text').on('input', function(){ doSomething(); });
EDITED VỚI THÔNG TIN HIỆN TẠI
Tôi chắc chắn có thể xác nhận rằng mô hình này:
$('#container').on('input', ':text', function(){ doSomething(); });
NGAY BÂY GIỜ cũng hoạt động, trong tất cả các trình duyệt 'tiêu chuẩn'.