我正在开发一个目前在 iphone 上测试的 phonegap 应用程序。我想做的很简单。我想按下一个按钮,并且只有我正在按下的那个按钮必须被按下。我想防止用户同时按下一个以上的按钮。要根据苹果指南执行此操作,您应该在按下目标按钮时禁用所有其他按钮。我的问题是,如果您最终在完全相同的时间同时按下两个按钮,那么这两个按钮都会被按下。据我所知,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>