Hatena::ブログ(Diary)

モトクロスとプログラムと粉砕骨折と RSSフィード Twitter

2012-05-30

[]困った!ボタンのクリックが連打に反応しないぞ!

少し困ったのでメモ。回避策は見つかったけど、もっといい方法があったら教えて欲しいんですオナシャス。


困ったのはタイトル通り、ボタンを連打しても割り当てられた ”click” ハンドラが、最初の1回しか呼び出されない動き。

ハンドラが重いから?と思って簡単なコードで試しても結果は同じ。最初の1回だけしか呼ばれない。

使ってるTitanium Mobile SDKのバージョンは、最新の2.0.1.GA2。


[app.js]

var win = Titanium.UI.createWindow();
var button = Ti.UI.createButton({
	title: 'HIT ME!!!'
});
button.addEventListener('click', function() {
	Ti.API.debug(new Date());
});
win.add(button);
win.open();

前はうまくいっていたので、試しに一つまえのSDKバージョンの1.8.2でやってみたら、連打で全てのハンドラが呼ばれた。


どうやら動きが変わったらしい。


色々試してみて "click" を "singletap" に変えたら、とりあえず連打でも全部反応するようになったけど、"singletap" イベントだと、タップ時に指が少し動いたら反応しないので、簡単な解決策があったら教えてくださいー。


追記:

"singletap" より "touchstart" の方がいいかもしれない。タップで指が動いても反応する。今のところ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/sngmr/20120530/1338344003