2013-07-23 34 views
1

我有一個網站(不是Windows 8應用程序),它期望用戶能夠按住他們的手指在某個圖標上若干秒,如果他們正在使用觸摸。但是,這會導致在Windows 8中出現「右鍵單擊正方形」。它不會停止頁面正常工作,但它很煩人,並且可能會使用戶感到困惑。有什麼辦法可以防止廣場出現?我知道在IE中可能有一些非常簡單,合乎邏輯的方式來做到這一點(因爲微軟似乎使它非常友好),但我也瞄準了Chrome,Firefox和Opera,因爲它們支持觸摸事件和東西在Windows 8觸摸屏電腦上。我已經嘗試取消contextmenu事件,這只是停止菜單出現。防止Windows 8右鍵點廣場

回答

6

IE10有事件MSHoldVisual調廣場。您可以取消MSHoldVisualcontextmenu以停止此行爲。

// Disables visual 
element.addEventListener("MSHoldVisual", function(e) { e.preventDefault(); }, false); 
// Disables menu 
element.addEventListener("contextmenu", function(e) { e.preventDefault(); }, false); 

根據這個MSDN頁:http://msdn.microsoft.com/en-us/library/ie/hh673557(v=vs.85).aspx#context_menus

+0

謝謝,但正如我爲其他答案所說的,我想知道這是否可以在其他瀏覽器中使用。 +1,但不接受。 – Markasoftware

+0

是啊我不知道,以及太糟糕了,我只有SurfaceRT,不能用其他瀏覽器測試... – BMH

+0

不,它不適用於其他瀏覽器。我測試過了。 – Markasoftware

1

查看Marcin在下面的項目中提到的更新是否適合您。我張貼這是一個答案,因爲我不能夠添加評論:)

來源:Disable tooltips for links

代碼:

document.addEventListener("MSHoldVisual", 
          function(e) { 
           e.preventDefault(); 
          }, false); 
+0

謝謝,這是有益的,但如果用戶使用IE它只防止平方。我需要我的應用程序來支持IE,所以這是非常有用的,但我不會接受它,因爲我想知道如何在其他瀏覽器中執行此操作。 – Markasoftware

+0

您是否嘗試阻止與'ontouchstart'關聯的默認操作?我在某處讀到這個消息,但不知道它是否能解決你的問題。 – Harry

+0

我現在試過了。它什麼都不做。 – Markasoftware