要素が切り替えられているかどうかを検出する方法は正しいですか? 両方のように見え、共通の変数#onclick
を#onclickJQ
共有して、どちらの状態になるべきかを検出します: bt = 0;
. その結果、次々にクリックしようとすると、2 番目のクリック イベントには目に見える変化がありません。これを解決するには、属性を使用してトグル状態に関するデータを保存します...
JS:
function blub(selector) {
if ($(selector).attr("attr-bt") == "0") {
$(selector).attr("attr-bt", "1");
$(selector).css('background-color', '#aa0000');
}
else {
$(selector).attr("attr-bt", "0");
$(selector).css('background-color', '#333333');
}
}
$(document).ready(function() {
$('#onclickJQ').attr("attr-bt", "0");
$('#onclick').attr("attr-bt", "0");
});
あなたの質問に答えて、遅延を取り除くには、単にjQueryMobileとライブラリで提供されるタップ イベントを使用します。
$(document).ready(function() {
$('#onclickJQ').live("tap", function() {
blub('#onclickJQ');
});
});
ただし、最初のデモ ボタン [インラインの onclick イベントを使用] は、特にタップ イベントを使用するように変更する必要があります。
$(document).ready(function() {
$('#onclick').live("tap", function() {
blub('#onclick');
});
});
デモ: http://fiddle.jshell.net/jnY2n/4/show/
iPhone 4S でテスト済み。最初の div は繰り返しタップすると「遅れ」ますが、2 番目の div はスムーズに実行されます。