Mam trudny czas z keydown i zatrzymać propagacjajQuery spust() i stopPropagation() na keyDown
nie chcę moją stronę do odświeżenia, próbowałem każdy jaki sposób mogę myśleć, mój obecny kod to
<script>
$(document).ready(function() {
var e = jQuery.event('keydown', { which: $.ui.keyCode.ENTER });
$('#id_number').trigger(e, function(event){
event.preventDefault();
event.stopPropagation();
});
});
</script>
jakikolwiek pomysł na to, co robię źle tutaj? Myślałem, że wydarzenie zostało nazwane poprawnie, mam jQuery i jQuery UI połączone prawidłowo i odbierać żadnych błędów konsoli
UPDATE dobrze to działa, teraz im coraz nieruchomość „zdarzenie” funkcji obiektu (a, b) {return new e.fn.init (a, b, h)} nie jest funkcją błąd na poniższym kodzie
$(document).ready(function() {
var e = jQuery.event('keydown', { which: $.ui.keyCode.ENTER } , function(event){
event.preventDefault();
event.stopPropagation();
});
$('#id_number').trigger(e);
});
Aktualizacja # 2 - stałe
rzeczy nauczyłem
- spust() nie są potrzebne w dokumencie (gotowy)
- coraz $ .ui.keyCode do pracy było trudne (przynajmniej dla mnie)
- zawsze zobaczyć, jakie inne funkcje są dołączone do wejścia (onblur, onfocus, ect) aka doh
przepisał go do tego, działa perfekcyjnie
$(document).ready(function() {
$('#id_number').keydown(OnKeyDown);
});
function OnKeyDown(e){
var code = (e.keyCode ? e.keyCode : e.which); //to support both methods
if(code == 13) { //the Enter keycode
//my actions
return false;
}
}
Próbowałaś 'zwraca FALSE? – TheZ
Dlaczego uważasz, że funkcja 'event' (*, którą musisz zmienić na' Event' z kapitałem E *) zajmuje 3 argument? zgodnie z dokumentami wymaga to tylko dwóch argumentów. Pierwszy to typ zdarzenia, a drugi to obiekt z właściwościami zdarzenia. –
, ponieważ myślałem głupie? zdezorientowany, przykro mi, że twoja odpowiedź była słuszna, po prostu nie mogłem go uruchomić dopóki nie przepisałem kodu –