ダブルクリックするとページ全体に展開されるdivボックスがあります。divが展開されたときに生成されるボタンを押すと、divボックスが最小化されて元のサイズに戻ります。ただし、divボックスをダブルクリックすると、イベントが2回トリガーされ、divボックスが展開され、すぐに最小化されます。そこで、.one()を使用してみましたが、1回しか機能しないことに気づきませんでした。複数のイベントを発生させずに一度に1回のクリックのみを許可するには、何を使用できますか?これがjsbinで、以下は厳密にjqueryコードです。http://jsbin.com/eqezas/3/edit
$("#block").one('click', function(){
$('#block1').hide();
$("#block").animate({
width: "100%",
height: "100%",
opacity: 0.4,
fontSize: "3em",
}, 1500, function() {
$('#but').show();
});
});
$('#but').one('click',function() {
$('#block1').show();
$("#block").animate({
width: "100px",
height: "40px",
opacity: 1,
fontSize: "1em",
}, 1500 );
$('#but').hide();
return false;
});