Từ kinh nghiệm của tôi, tôi biết ba cách khác nhau để thực hiện một chức năng Javascript khi người dùng nhấp vào một liên kếtCách tốt nhất để thực hiện chức năng khi người dùng nhấp vào liên kết là gì?
Sử dụng
onclick
thuộc tính vào liên kết<a href="#" onclick="myfunction();return false;">click me</a>
Sử dụng
href
vào liên kết<a href="javascript:myfunction();">click me</a>
Không chạm vào liên kết, thực hiện mọi thứ trong js
<a href="#">click me</a>
(trong Javascript chúng tôi sẽ ngăn chặn các sự kiện mặc định, và gọi hàm)
Cái nào tốt hơn? Ưu điểm và nhược điểm là gì?
EDIT xóa "javascript:" trên onclick
không nói "javascript:" trong onclick. Điều đó giới thiệu một nhãn (cho 'ngắt',' tiếp tục') mà bạn không cần. – Thilo
Nói chung không nên để không chạm vào HTML * *, như bạn đặt nó trong ví dụ 3, vì nó sẽ rắc rối khi bạn cố gắng đính kèm trình xử lý sự kiện trong Javascript nếu không có cách nào để chọn phần tử chính xác. –
Ngay cả khi bạn thực hiện phương pháp tiếp cận 3, hãy sử dụng 'href' để thực hiện điều gì đó cho người dùng không sử dụng javascript. Nếu đó là hành động không có ý nghĩa đối với người dùng không phải javascript thì bạn có thể sử dụng javascript để * tạo * liên kết - theo cách đó, những người duy nhất sẽ thấy đó là những người có thể sử dụng nó – Gareth