2016-07-28 14 views
5

Tôi có canvas và tôi hiển thị hình ảnh bên trong nó. Tôi có kèm theo một sự kiện jquery với nó, như thế này:Cách ngăn chặn nhấp chuột phải mặc định trên canvas có chứa hình ảnh

$("#mycanvas").mousedown(function(e) { 
    //Do something 
    e.preventDefault(); 
    e.stopPropagation(); 
}); 

Tôi mong chờ mã này để làm các hoạt động của tôi và để ngăn chặn hành vi duyệt mặc định. Cái cũ được hoàn thành, tuy nhiên, cái thứ hai, cụ thể là, việc ngăn chặn hành vi mặc định không xảy ra. Sự kiện này chạy mặc dù. Tôi tự hỏi làm sao tôi ngăn chặn cho thấy trình đơn, bạn có thể nhìn thấy trên hình ảnh khi nhấp chuột phải:

enter image description here

+2

Hãy nhận biết rằng trong khi ngăn chặn click chuột phải sẽ dừng menu ngữ cảnh xuất hiện, tôi vẫn có thể thấy URL của hình ảnh và tải xuống thông qua trình xem DOM/công cụ dev. Áp dụng câu ngạn ngữ cũ - nếu có thể xem trực tuyến, mọi người đều có thể xem. –

+0

@RoryMcCrossan, đó là ok, tôi chỉ muốn người dùng không thấy menu đó, mọi thứ khác đều tốt đẹp. –

+0

Có thể trùng lặp? http://stackoverflow.com/questions/4920221/jquery-js-prevent-right-click-menu-in-browsers – Whothehellisthat

Trả lời

10

Bạn có thể sử dụng contextmenu:

$("#mycanvas").contextmenu(function(e) { 
    //Do something 
    e.preventDefault(); 
    e.stopPropagation(); 
}); 
+0

Cảm ơn bạn rất nhiều! –

+0

Rất vui được giúp đỡ. :) –

Các vấn đề liên quan