2013-07-31 92 views
1

事件我使用動能V4.3.0-beta2.js動力學JS「點擊」或簡單的「觸摸」移動設備

我想在組處理移動觸摸事件爲iOS &機器人。

我結合事件,如以下

group.on('touchstart', function (evt) { 

    $('#onpopMenu').popup("open", { x: leftPosition, y: topPosition }); 

}); 

我試圖「touchend」,「touchstart」和「抽頭」

得到了在「點按」部分的成功,但在這種情況下,形狀爲可拖動所以點擊事件不正確的火,因爲對象將從它的位置移動。

但如果形狀不可拖動,那麼它會正常工作。

我也嘗試過'touchend'和'touchstart'事件,但彈出式菜單在iOs和android事件觸發後關閉,因爲我正在通過觸摸組打開Jquery Mobile Popup!

觸發事件觸發時,彈出式菜單僅會打開2-3秒。

任何人都面臨同樣的問題動能JS移動事件?如何只處理「點擊」或「觸摸」事件。

我檢查了這個http://www.html5canvastutorials.com/kineticjs/html5-canvas-mobile-events/作爲參考,但沒有運氣!

我發展提前

感謝與PhoneGap的+ JQM + JS動力學的應用!

+0

另外,我建議更新到最新版本KineticJS如果在所有可能爲您的項目。 – projeqht

+0

我厭倦了新版本,但它仍然不工作! –

回答

0

請記住,您的應用程序在webview中運行。這就是爲什麼你在觸摸/點擊事件中獲得這些2/3秒的延遲。 這就是爲什麼在我的所有PhoneGap開發中,我都使用Fastclick.js。 FastClick是一個簡單易用的庫,用於消除移動瀏覽器中物理點擊與點擊事件之間的300毫秒延遲。其目標是讓您的應用程序感受到更小的延遲和更快的響應速度,同時避免干擾您當前的邏輯。 你可以在這裏找到它https://github.com/ftlabs/fastclick。 它易於使用(如果你使用jQuery):

<script type='application/javascript' src='/path/to/fastclick.js'></script> 
<script> 
    $(function() { 
     FastClick.attach(document.body); 
    }); 
</script> 
+0

這可以使用HTML和Jquery Mobile UI,但我想處理HTML5 KineticsJS Canvas上的Click或Touch事件。問題在於你如何處理KinjeticsJS中的觸摸或點擊事件,而不是在Jquery Mobile中。我已經從它的第一個版本開始使用FastClick和JQM了! –

+0

對不起,我誤解了你的問題的意思:) – David

0

我做了一個你考出點擊/觸摸事件。

據我瞭解,你有一個Kinetic.Group節點是draggable但你想打開一個彈出使用 jQuery Mobile的。

你是對的,當你拖動對象時,自來水不會觸發事件。但你說否則水龍頭事件工作正常,如果形狀不可拖動。這使我相信:

  1. 你想在彈出的「挖掘」
  2. 你想在「dragend」

如果有一個彈出窗口,所有你需要的是使用這樣的兩個事件:

group.on('tap dragend', function (evt) { 
    $('#onpopMenu').popup("open", { x: leftPosition, y: topPosition }); 
}); 

請讓我知道,如果我的假設是錯誤的,我可以與您合作以獲得正確的解決方案。我猜測你想彈出的時候,所以如果你讓我知道什麼時候你想要一個彈出窗口發生,這將有很大幫助。

你可能也想看看使用evt.cancelBubble = true;http://www.html5canvastutorials.com/kineticjs/html5-canvas-cancel-event-bubble-propagation-with-kineticjs/

+0

我試過你的上面的代碼,但是當形狀或組被拖動時它不工作。對於「dragend」我需要拖動組,但我只想點擊組! –