Gần đây tôi phát hiện ra rằng các trình duyệt khác nhau xử lý các sự kiện onclick
cách khác nhau khi các phím kiểm soát hay phím Shift được ép. Họ phân tách tương tự về hành vi cho các liên kết sau bằng cách nhấp vào nút chuột giữa.Ctrl hoặc Shift hiệu ứng trên 'sự kiện onclick` của một thẻ neo trong mỗi trình duyệt
Với liên kết sau:
<a href="http://www.example.com/" onclick="alert('onclick');">go to example.com</a>
onclick hỗ trợ trình duyệt bảng
Mouse Keyboard Chrome Firefox Safari Opera IE5.5 IE6 IE7 IE8 IE9
Left None yes yes yes yes yes yes yes yes yes
Left Ctrl yes yes yes yes ? yes no no ?
Left Shift yes yes yes yes ? yes yes yes ?
Middle None yes no yes no ? N/A no no ?
Ai đó có thể vui lòng điền vào dấu hỏi đối với tôi? Cũng thế; Tôi tự hỏi liệu hành vi có khác nhau đối với mỗi phiên bản của Chrome, Firefox, Safari và Opera hay không.
Tìm một mẫu lôgíc trong hành vi này thậm chí còn đẹp hơn, nhưng tôi không nghĩ có một điều, thật không may. :)
BTW: Tôi không có ý định thay đổi hành vi của trình duyệt web. Tôi chỉ cần đo lường các nhấp chuột thương mại (thông qua một số thư viện JavaScript). Tôi đã làm việc này cho IE7 và IE8 thông qua trình xử lý sự kiện. Nhưng tôi tò mò về hành vi của IE5.5 và IE9. Ngoài ra; kể từ khi duyệt web theo thẻ ngày càng trở nên phổ biến (cũng thông qua các nhấp chuột phải). Vì vậy, một ngày nào đó, chúng tôi sẽ phải chuyển sang phương thức chuyển hướng. – Erik