簡體   English   中英

JavaScript:僅在特定元素內捕獲右鍵單擊和禁用菜單

[英]JavaScript: Capturing right click and disabling menu only within certain element

我編寫了一個jquery腳本,其中屏幕上有一個小網格,使用拖放用戶可以在網格上放置切片(卡扣到位)。 目前,如果您將鼠標懸停在某個磁貼上,它會在旋轉選項中淡入淡出,但如果您可以右鍵單擊旋轉(使其更自然),我會更喜歡它。 我理解完全阻止右鍵通常是不滿意的,所以想知道是否可能只是在一個特定元素內,然后捕獲該事件,在JS中執行某些操作並禁用上下文菜單? - 適用於所有瀏覽器。

另外,目前我正在使用jQuery for effects和自定義javascript進行拖放,是否值得一看jQuery插件進行拖放?

非常感謝,

要捕獲右鍵單擊,您可以使用此jquery:

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

這適用於chrome,firefox和safari。 沒有測試IE 也適用於IE。 唯一需要注意的是它顯然不適用於Opera。 所以,如果你能忍受......

我不喜歡在網頁上使用鼠標右鍵。 但是,如果您真的想這樣做,可以按照此處所述捕獲鼠標右鍵。 如果鼠標位於網格單元格上,您可以有條件地阻止鼠標右鍵(換句話說,在事件處理程序中返回false)。

關於你的獎金問題: jquery ui具有拖放功能 使用它可能比滾動自己更容易。

“是否值得一看jQuery插件進行拖放?”

只有當您不打算在帶有Safari的iPhone OS上使用您的應用程序時,包括iPad,請參閱Safari Web內容指南:處理事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM