現在iphoneでテストしているphonegapアプリを開発しています。やりたいことはシンプル。ボタンを押したいのですが、押しているボタンだけを押す必要があります。ユーザーが同時に複数のボタンを押さないようにしたい。リンゴのガイドラインに従ってこれを行うには、ターゲット ボタンが押されたときに他のすべてのボタンを無効にする必要があります。私にとっての問題は、最終的に2つのボタンをまったく同時にタブで押し続けると、両方のボタンが押されることです。私の知る限り、JavaScriptにはロックがありません。また、変数をロックとして使用しようとしましたが、それでも機能しません。問題を再現するためにiPhoneでテストできるこのコードがあります。私の質問は、ボタンを押すことを正しい方法でどのようにプログラムするのですか?
<script type="text/javascript" src="plugins/jquery.js"></script>
<script>
$(document).ready(function(){
CreateEvents();
}); //end ready function
function CreateEvents()
{
$('.divs').on('touchstart', function(){
$('.divs').not(this).off();
$(this).css('background-color','red');
});
$('.divs').on('touchend', function(){
$(this).css('background-color','green');
setTimeout(function(){
CreateEvents();
}, 300);
});
}
</script>
<style>
.divs{
width:200px;
height:200px;
background-color:green;
}
</style>
</head>
<body>
<div class="divs">
div1
</div>
<div class="divs">
div2
</div>
</body>
</html>