Xóa sự kiện chuột phải mặc định trong trình duyệt Chrome

Chả là mình có làm một ứng dụng web, mình tự tạo sự kiện Click Chuột phải của riêng mình nhưng nó bắt cả sự kiện chuột phải mặc định của trình duyệt. Vậy có cách nào tắt sự kiện Chuột phải mặc định của trình duyệt không. Mình đã thử Return false (Ngăn lan truyền sự kiện và ngăn mặc định) nhưng không được. Cám ơn các bác.
Dùng thư viện jquery javasript nhé các bạn.

Bạn không show code nên cũng không biết thế nào, bạn thử như thế này xem

$(function(){
    $(document).contextmenu(function(e){
      // return false; cung duoc
      e.preventDefault();
  });
});

https://jsfiddle.net/8otq2vt2/

3 Likes

Không ai trả lời được câu hỏi này nhỉ??? Hóng mãi

Không được bạn ah, Return false còn ko đc nữa mà

Thử xem :?
http://jsfiddle.net/u2kJq/241/ (Lấy từ StackOverflow)

Or dòng này cũng được

document.addEventListener('contextmenu', event => {event.preventDefault()});

(Từ Stackoverflow nốt)

4 Likes

bạn show code lên được không? đoạn bắt sự kiện chuột phải để hiện cái contextmenu của bạn ấy.
trước khi hiện lên cái menu của bạn thì cho preventDefault() cho nó ngưng sự kiện chuột phải đi.

Đã có câu trả lời nhé các bác, lên đây review lại cho các ban.
Ban đầu mình sử dụng cách này để kích hoạt sự kiện chuột phải:

$(‘ul li’).mousedown(function(event){
if(event.which == 3){
var left = event.pageX + ‘px’;
var top = event.pageY + ‘px’;
$(’#mouse-right’)
.css({left: left, top: top})
.show(200);
}
Cách này sử dụng thuộc tính event.which để xác định xem nút chuột nào, 1 là chuột trái, 2 là chuột giữa, 3 là chuột phải. Cách này return false không tắt được mặc định.

Cách 2 sử dụng $(document).contextmenu() để kích hoạt sự kiện chuột phải thì ok nhé các bác (Lúc đầu ko biết :slight_smile: ). Cám ơn các bác!

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?