Tôi đã thấy các phương pháp đặt mã JavaScript vào <a>
thẻ sau đây:
function DoSomething() { ... return false; }
<a href="javascript:;" onClick="return DoSomething();">link</a>
<a href="javascript:DoSomething();">link</a>
<a href="javascript:void(0);" onClick="return DoSomething();">link</a>
<a href="#" onClick="return DoSomething();">link</a>
Tôi hiểu ý tưởng cố gắng đặt một URL hợp lệ thay vì chỉ mã JavaScript, đề phòng trường hợp người dùng chưa bật JavaScript. Nhưng với mục đích của cuộc thảo luận này, tôi cần giả sử JavaScript đã được bật (họ không thể đăng nhập nếu không có nó).
Cá nhân tôi thích tùy chọn 2 vì nó cho phép bạn xem những gì sẽ được chạy – đặc biệt hữu ích khi gỡ lỗi trong đó có các tham số được truyền cho hàm. Tôi đã sử dụng nó một chút và không tìm thấy sự cố trình duyệt.
Tôi đã đọc rằng mọi người đề xuất 4, bởi vì nó cung cấp cho người dùng một liên kết thực để theo dõi, nhưng thực sự, # không phải là "thực". Nó sẽ hoàn toàn không đi đâu cả.
Có cái nào không được hỗ trợ hoặc thực sự không tốt, khi bạn biết người dùng đã bật JavaScript?
Câu hỏi liên quan: Href cho các liên kết JavaScript: “#” hoặc “javascript: void (0)”? .