2013-07-25 78 views
2

在沒有鍵盤的瀏覽器環境中,只有瀏覽器看作是2鍵鼠標的設備時,我需要訪問鼠標右鍵單擊。這是一個在瀏覽器中運行的自定義應用程序:file:// ....在機場安全後面沒有Internet訪問。自助服務終端,無鍵盤,需要訪問右鍵單擊事件

左鍵增加1個總計字段。鼠標右鍵的意圖是減少1相同的總計字段。網頁上有幾十個這樣的字段。

如果我關閉上下文菜單,即使Mozilla開發者網站記錄我應該得到的內容,我仍然沒有點擊右鍵單擊事件。如何通過右鍵點擊獲得對點擊事件的訪問權限?

我不能在左側用雙擊來表示否定的信號,因爲我們希望用戶能夠快速地左鍵點擊以增加每場的總數。離開雙擊意味着消極是行不通的。

+0

您的Kiosk是否支持多點觸控? –

+0

沒有多點觸控。這是原始的。鼠標甚至不是鼠標。這是瀏覽器認爲是鼠標的一些安全小工具。它支持2個按鈕,甚至不支持滾輪。 –

+0

爲什麼不添加一個減少總量的按鈕,而不是試圖複製人民幣?大多數信息亭都假設觸摸是LMB,並且無法訪問人民幣。 – FireCrakcer37

回答

0

組上下文對身體返回false,然後再添加處理程序要處理的元素。冒泡。

<body oncontextmenu='return false' style='margin: 0px; width: 100%; height: 100%; position: absolute;'> 

    <div style='width: 64px; height: 64px; background: rgb(44, 188, 44); position: absolute;' oncontextmenu='alert("Click!");'> 

</body> 
+0

從你的評論和Toby的評論中,我想我理解這項技術。停止正文的上下文菜單,然後在包裝整個頁面內容的div上啓動一個,並位於正文的正下方。我沒有想到這一點。我明天會嘗試。 –

+0

對不起 - 我應該爲身體放置更多的風格。你想要一切都完全包裹在身體內。該對象將重點放在身體上。該頁面應該有希望解釋比我更好:http://javascript.info/tutorial/bubbling-and-pturing –

+0

工程太棒了!上面的短片演示片段很有幫助。謝謝! –

1
<div oncontextmenu="javascript:alert('success!');return false;"> 
    Lorem Ipsum 
</div> 

如果不返回false也將打開正常的右鍵菜單

如果你對上的div點擊它會執行你給的功能它

+0

請參閱下文。 –

1

使用oncontextmenu事件click事件。鏈接到的jsfiddle:http://jsfiddle.net/EgL3R/

$('.area').click(function() { 
    increment(this, 1); 
}).bind('contextmenu', function() { 
    increment(this, -1); 
    return false; 
}); 

玩得開心:)