Ví dụ: có một số mã JavaScript có trình xử lý nhấp chuột xác định nơi người dùng sẽ được chuyển hướng đến. Giả sử nó chỉ là một liên kết ngẫu nhiên chuyển hướng được tính khi người dùng nhấp vào liên kết.Ngăn chặn "xâm nhập" ý định nhấp vào liên kết khi áp dụng chức năng tùy chỉnh cho sự kiện nhấp
Dưới đây là một số kịch bản:
Nếu người dùng nhấp chuột trái vào liên kết, mục đích của người sử dụng là để giữ cho chuyển hướng trong cùng một tab, trong đó hoạt động tốt với
window.location
.Nếu người dùng nhấp vào giữa liên kết này, người dùng có vẻ như trang web đã chiếm đoạt nhấp chuột giữa và đơn giản là bỏ qua nó, chuyển hướng người dùng trong cùng một tab thay vì tab mới.
Ngoài ra, khi ai đó vừa nhận xét (và xóa nhận xét?), Một trường hợp khác là phím bổ trợ cũng có thể đề xuất trình duyệt mở tab mới hoặc thậm chí là cửa sổ mới.
Một đề xuất khác là có thể mở liên kết trong tab hoặc cửa sổ mới thông qua menu ngữ cảnh. Điều này là ít quan trọng, nhưng chắc chắn cùng một vấn đề khả năng sử dụng.
Tôi đã gặp sự cố này trên nhiều trang web, đặc biệt là đối với tôi, Google Analytics, nơi hầu như mỗi lần tôi nhấp chuột giữa, hiệu ứng này xảy ra.
Một ví dụ tốt về những gì một số mã JavaScript cần là:
Process một số dữ liệu, sau đó gửi đi một yêu cầu XHR rằng cần phải được hoàn tất trước khi cho phép người dùng tiếp tục liên kết họ nhấp trên.
Bạn làm cách nào để giải quyết vấn đề này? ví dụ. có cách nào để phát hiện xem người dùng có mong đợi liên kết xuất hiện trong tab mới hay không và liệu có thể tải lên một tab mới không? Có lẽ tôi đang nghĩ về điều này một cách sai lầm?
Có trình duyệt phổ biến nào không kích hoạt sự kiện 'nhấp chuột' khi phần tử đã được nhấp giữa không? – icktoofay
Nếu bạn không thể cung cấp URL cho người dùng truy cập, có thể tốt hơn nên sử dụng URL trống ('#', 'javascript :;' ..vv) hoặc không sử dụng ' '. Bạn có thể phát hiện các nhấp chuột giữa nhưng bạn không thể phát hiện các tùy chọn trong menu chuột phải (mở trong tab/cửa sổ mới, sao chép liên kết ...). – Vatev
@Vatev tại sao bạn cần phát hiện các tùy chọn trong menu chuột phải? OP muốn biết cách phát hiện nhấp chuột giữa. – bPratik