Tôi đã thấy hrefs như vậy nhiều lần, nhưng tôi không biết chính xác điều đó có nghĩa là gì.
Bạn đang xem: Javascript:void(0) là gì
Toán tử void đánh giá biểu thức đã cho và sau đó trả về undefined.
Toán tử void thường chỉ được sử dụng để lấy giá trị nguyên thủy undefined, thường sử dụng Hồi void(0), (tương đương với Hồi void 0)). Trong những trường hợp này, biến toàn cục undefined có thể được sử dụng thay thế (giả sử nó chưa được gán cho giá trị không mặc định).
Một lời giải thích được cung cấp ở đây: void toán tử .
Lý do mà bạn muốn thực hiện điều này với href của một liên kết là thông thường, URL javascript: sẽ chuyển hướng trình duyệt sang phiên bản văn bản đơn giản về kết quả đánh giá JavaScript đó. Nhưng nếu kết quả là undefined, thì trình duyệt vẫn ở trên cùng một trang. void(0) chỉ là một tập lệnh ngắn và đơn giản để đánh giá undefined.
913 18 thg 8, 2009 rahul
Ngoài câu trả lời kỹ thuật, javascript:void có nghĩa là tác giả đang làm sai.
Không có lý do chính đáng để sử dụng URL giả javascript: (*). Trong thực tế, nó sẽ gây ra sự nhầm lẫn hoặc sai sót nếu bất cứ ai cũng nên thử những thứ như ‘liên kết dấu trang, liên kết mở trong một tab mới, v.v. Điều này xảy ra khá nhiều bây giờ mọi người đã quen với tab nhấp chuột giữa cho tab mới: nó trông giống như một liên kết, bạn muốn đọc nó trong một tab mới, nhưng hóa ra đó hoàn toàn không phải là một liên kết thực sự, và đưa ra các kết quả không mong muốn như trang trống hoặc lỗi JS khi nhấp vào giữa.
là một thay thế phổ biến có thể được cho là ít tệ hơn. Tuy nhiên, bạn phải nhớ return false từ trình xử lý sự kiện onclick của bạn để ngăn liên kết được theo dõi và cuộn lên trên cùng của trang.
Trong một số trường hợp, có thể có một nơi thực sự hữu ích để trỏ liên kết đến. Ví dụ: nếu bạn có một điều khiển, bạn có thể nhấp vào đó để mở
bị ẩn trước đó, sẽ rất hợp lý khi sử dụng để liên kết với nó. Hoặc nếu có một cách không phải là JavaScript để làm điều tương tự (ví dụ: ‘thispage.php? Show = foo thì đặt foo hiển thị để bắt đầu), bạn có thể liên kết đến đó.
Mặt khác, nếu một liên kết chỉ trỏ đến một số tập lệnh, nó không thực sự là một liên kết và không nên được đánh dấu như vậy. Cách tiếp cận thông thường sẽ là thêm onclick vào ,