2011-12-28 54 views
7

嘗試使用Canvas製作遊戲時,我注意到了平板電腦/手機瀏覽器中的一些怪癖。iPad/Android平板電腦上的HTML5 Canvas(遊戲)

1)如何禁用Canvas選擇?看起來用戶觸摸它時,它會突出顯示畫布,並且幾乎會嘗試選擇它。這是不希望的。

2)瀏覽器滑動手勢。某些瀏覽器具有滑動手勢,可以覆蓋在畫布或網頁中完成的任何移動捕捉。這是非常煩人和不受歡迎的。

3)帶HTML UI元素的畫布控件。我注意到,當有一個與其他ui元素(如文本)一起呈現的畫布時,有時在畫布中單擊或拖動將突出顯示HTML的一部分,而是拖動HTML元素而不是擊中畫布。

任何幫助,非常感謝!我希望HTML5能夠足夠成熟,以便在移動設備和桌面設備上實現良好的兼容性。這個想法是能夠編碼一次,無處不在....謝謝!

回答

4

這應該可以解決你的問題,與#1和#3:

canvas.addEventListener('selectstart', function(e) { e.preventDefault(); return false; }, false); 

#2似乎是一個非常不同的問題,但我從來沒有與滑動手勢覆蓋所有的我的畫布的東西有問題。在觸摸事件開始時嘗試使用e.preventDefault();

+0

你太棒了。這工作。我試着用google搜索答案,甚至查看第三方庫,但找不到這一行代碼。希望它可以幫助其他人。 – Adam 2011-12-28 20:32:07

+0

我試過了,但Android上沒有任何變化 - 在畫布的任何地方點擊仍然選擇了整個事物。 – Cbas 2012-08-14 00:47:41