können Sie jQuery#bind verwenden, um das keyup
Ereignis zu binden und als das mit jQuery#unbindkeyup
Ereignis entbinden, wenn die Endbenutzer pres der „Enter-Taste“, um mehrere Male der „Enter-Taste“ zu verhindern:
var $passwordInput = $('#password-input');
$passwordInput.bind('keyup', function(e) {
passwordInputKeyupHandler(e);
});
function passwordInputKeyupHandler(e) {
if (e.which === 13) {
console.log('Enter key!');
$passwordInput.unbind('keyup');
return setTimeout(function(){
console.log('Rebind keyup event');
$passwordInput.keyup(passwordInputKeyupHandler);
}, 2000);
}
console.log('Any other key...');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="password-input" type="password">
Beachten Sie, dass, wie durch @dorado auf den Kommentaren darauf hingewiesen, eine ‚rebind‘ nach 2 Sekunden hergestellt wurde, unter Verwendung von setTimeout()
, um den Endbenutzer zu vermeiden haben Um eine Seite neu laden zu lassen.
mehr als einmal zur gleichen Zeit :)) – madalinivascu