キーコマンドの後に「mouseactive」を1秒未満に設定しようとしていますが、その時間内にそのキーが押された場合、そのアクションをキャンセルしたいと思います。しかし、私はこれを行う方法を把握していないようです。これは...私が持っているものsetTimeoutの問題をクリアする
$(window).keydown(function(e) {
if (e.keyCode == 40) {
e.preventDefault();
mouseactive = false;
clearTimeout(t);
var t = setTimeout("mouseActive()",800);
} else if (e.keyCode == 38) {
e.preventDefault();
mouseactive = false;
clearTimeout(t);
var t = setTimeout("mouseActive()",800);
}
});
function mouseActive() {
mouseactive = true;
}
である。しかし、これは動作しません、それはmouseactive戻ってtrueに設定されていません...誰も私が間違ってここにやっているものを私に伝えることができますか?
文字列を 'setTimeout'に渡すべきではありません。関数を渡すべきです。文字列が渡されたときに 'eval'を使います。 't = setTimeout(mouseActive、800);' –
@Rocket mm ..私は自分のコードをクリーンアップしました。クリーンアップにも含まれています..ありがとう!私はクリーンアップ前の私の最初の投稿に文字列としてそれを持っていた。 –
ありがとう、それはトリック、多くの感謝しました。 – Ian