2010-06-04 9 views
6

Tôi đã mã hóa tập lệnh jquery nơi có lưới nhỏ trên màn hình và sử dụng kéo và thả người dùng có thể đặt các ô trên lưới (chụp tại chỗ). Hiện tại nếu bạn di chuột qua một ô, nó sẽ mờ dần trong tùy chọn xoay, nhưng tôi thích nó hơn nếu bạn có thể nhấp chuột phải để xoay (làm cho nó tự nhiên hơn). Tôi hiểu việc chặn nhấp chuột phải hoàn toàn thường bị cau mày khi tự hỏi liệu có thể chỉ trong một phần tử cụ thể, sau đó chụp sự kiện đó, thực hiện điều gì đó trong JS và vô hiệu hóa menu ngữ cảnh không? - hoạt động trong mọi trình duyệt.JavaScript: Chỉ cần nhấp chuột phải và tắt menu trong phần tử nhất định

Trên một lưu ý phụ, hiện tại tôi đang sử dụng jQuery cho các hiệu ứng và javascript tùy chỉnh để kéo và thả, có đáng xem một plugin jQuery để kéo và thả không?

Rất cám ơn,

Trả lời

12

Đối với chụp click chuột phải, bạn có thể sử dụng jquery này:

$('#gridID').bind('contextmenu', function(e) { 
    // do stuff here instead of normal context menu 
    return false; 
}); 

Tính năng này hoạt động trong chrome, firefox và safari. Chưa kiểm tra IE . Cũng hoạt động trong IE. Chỉ báo trước là nó không hoạt động trong Opera rõ ràng. Vì vậy, nếu bạn có thể sống với điều đó ...

+0

Câu trả lời này không hợp lệ, contextmenu được kích hoạt trên mousedown đúng, không phải trên nhấp chuột phải. –

+0

Một chút khắc nghiệt và nit-picky để downvote một câu trả lời mà các công trình. Có thể từ ngữ khó hiểu, nhưng ngay cả tài liệu của Mozilla cũng nói "click chuột phải" (https://developer.mozilla.org/en-US/docs/Web/Events/contextmenu). Bất kể, mã chỉ đơn giản là chụp sự kiện "contextmenu" của một trình duyệt và ngăn nó hiển thị menu. – ryanulit

0

Tôi không phải là người hâm mộ sử dụng nút chuột phải trên trang web. Tuy nhiên, nếu bạn thực sự muốn làm điều đó, bạn có thể bẫy nút chuột phải như mô tả here. Bạn có thể chặn nút chuột phải (nói cách khác trả về false trong trình xử lý sự kiện của bạn) có điều kiện nếu con chuột ở trên các ô lưới của bạn.

Về câu hỏi thưởng của bạn: jquery ui has drag & drop functionality. Nó có thể dễ dàng hơn để sử dụng hơn là lăn của riêng bạn.

+0

Rất cám ơn, theo lời khuyên của bạn, tôi đã xem "có thể kéo" và thấy http://jqueryui.com/demos/draggable/snap-to.html dường như là những gì tôi cần cho việc kéo –

0

"có đáng xem một plugin jQuery để kéo và thả không?"

Chỉ khi bạn không có ý định ứng dụng của bạn sẽ được sử dụng trên hệ điều hành iPhone với safari, tức là bao gồm cả iPad, xem Safari Web Content Guide: Handling Events