Mặc dù một số người có thể nói, đó không phải là thực hành không tốt (với báo trước rằng đó là trình xử lý sự kiện duy nhất bạn muốn trên phần tử này) và đó là cách trình duyệt đơn giản nhất (và phổ biến nhất) để thêm người nghe sự kiện , nhưng có hai thay đổi tôi sẽ thực hiện cho nó.
Trước hết, nếu Javascript không được bật, liên kết sẽ vô ích (mặc dù #
href sẽ làm cho trình duyệt cuộn lên đầu trang, có thể không được mong muốn). Tương tự, khi bật Javascript, việc nhấp vào liên kết sẽ vẫn khiến trình duyệt theo dõi href và cuộn lên.
Thay vào đó, tôi muốn sử dụng một cái gì đó như thế này:
<a href="[url to JS-less way of doing the same thing]" onclick="doSomething(); return false">Click here</a>
Cách khác, nếu nó thực sự là một điều javascript chỉ, bạn có thể làm cho các liên kết ẩn theo mặc định sử dụng CSS và sử dụng javascript để làm cho nó có thể nhìn thấy (để người dùng bị tắt JS sẽ không thấy liên kết vô dụng).
Nguồn
2010-08-19 21:44:52
Thực tế là sử dụng một thuộc tính xử lý sự kiện không phải là "không phô trương" không liên quan gì tới các tiêu chuẩn. Trong thực tế, các thuộc tính xử lý sự kiện như 'onclick' ** được chuẩn hóa trong đặc tả HTML 4. –
"thực hành không tốt" và "tiêu chuẩn" là những thứ khác nhau. Tôi sẽ làm rõ câu trả lời. – Quentin
@czupe - Phương thức 'click()' hoàn toàn không liên quan gì đến câu hỏi hoặc câu trả lời này (tức là về * gán * người xử lý sự kiện, không * kích hoạt * chúng theo chương trình). – Quentin