Tôi tự động tạo div
mới (với lớp và ID "hộp văn bản") và một số phần tử khác bên trong nó và sau này trong mã của tôi, tôi ràng buộc div
cho sự kiện nhấp chuột và hiển thị phần tử được nhấp, như vậy:jquery e.target.hasClass không hoạt động
$('#textbox_'+i).bind('click', function(event){
alert(event.target.className);
}
Điều này là tốt và nó sẽ cung cấp cho tôi textbox
là một trong các lớp được hiển thị. Nhưng event.target.hasClass()
dường như không hoạt động. Vì vậy, khi tôi làm như sau, không có gì xảy ra:
$('#textbox_'+i).bind('click', function(event){
if(event.target.hasClass('textbox')) { alert('got it!'); }
}
Tôi đã thử một vài cách khác nhau và dường như tôi không hoạt động. Có cách nào khác để đối phó với các sự kiện hay tôi đang làm điều gì sai?
Wow! không sao đâu! Có lẽ đây là một chủ đề nhỏ, nhưng sự khác biệt giữa $ (event.target) và event.target là gì? Các công trình trước đây với hasClass, nhưng không phải khi tôi cố gắng cảnh báo .className. – user961627
hasClass là một hàm jQuery, .className là plain javascript – anderssonola
Cái đầu tiên được bọc trong jQuery, do đó, nó là một đối tượng jQuery và có thể được sử dụng với các phương thức jQuery. Thứ hai là một đối tượng javascript đơn giản được trả về trong hàm 'event' và có thể được sử dụng với các phương thức javascript đơn giản chứ không phải các phương thức jQuery. – adeneo