Tôi tự hỏi nếu event.preventDefault()
và return false
là như nhau.event.preventDefault() so với trả về false (không có jQuery)
Tôi đã làm some tests, và có vẻ như rằng
Nếu xử lý sự kiện được thêm vào sử dụng mô hình cũ, ví dụ
elem.onclick = function(){ return false; };
Sau đó,
return false
ngăn chặn hành động mặc định, nhưevent.preventDefault()
.Nếu xử lý sự kiện được thêm vào sử dụng
addEventListener
, ví dụelem.addEventListener( 'click', function(e){ return false; }, false );
Sau đó,
return false
không ngăn cản hành động mặc định.
Mọi trình duyệt có hoạt động như thế này không?
Có sự khác biệt nào khác giữa event.preventDefault()
và return false
không?
Tôi có thể tìm thấy một số tài liệu (Tôi không thể trong MDN) về return false
hoạt động như event.preventDefault()
trong một số trường hợp?
Câu hỏi của tôi là chỉ khoảng javascript đơn giản, không jQuery, vì vậy xin đừng đánh dấu nó như là một bản sao của event.preventDefault() vs. return false, thậm chí nếu cả hai câu hỏi có gần như cùng tên.
Duplicate of http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false Nếu bạn đọc câu hỏi, bạn sẽ nhận thấy rằng đó là vấn đề JS chung không phải là vấn đề cụ thể của jQuery . jQuery chỉ được sử dụng để làm cho mã ví dụ là ngắn/sạch càng tốt. – RaYell
@RaYell Không, vì 'return false' của jQuery hoạt động khác với JavaScript thuần túy của jQuery. Hơn nữa, câu hỏi khác không có câu trả lời giải thích sự khác biệt trong JS đơn giản (chỉ có một bình luận giải thích nó, nhưng khó tìm). Vì vậy, tôi nghĩ rằng tốt hơn nên có hai câu hỏi khác nhau. – Oriol