триггер jQuery () и stopPropagation() на событии keydown

у меня трудное время с keydown и остановить распространение

Я не хочу, чтобы моя страница обновлялась, я пробовал все, что могу придумать, мой текущий код

 <script>
 $(document).ready(function() {
 var e = jQuery.event( 'keydown', { which: $.ui.keyCode.ENTER } );

 $('#id_number').trigger(e, function(event){
event.preventDefault();
event.stopPropagation();
});

 });
 </script>

любая идея, что я делаю неправильно здесь? Я думал, что событие было вызвано правильно, у меня jQuery и jQuery ui связаны правильно и не получают ошибок консоли

обновление что ж, это сработало, теперь я получаю Свойство "событие" функции объекта (a, b){вернуть новое e.ФН.init (a,b,h)} не является функцией ошибка в приведенном ниже коде

 $(document).ready(function() {
 var e = jQuery.event( 'keydown', { which: $.ui.keyCode.ENTER } , function(event){
  event.preventDefault();
  event.stopPropagation();
}); 

 $('#id_number').trigger(e);

 });

обновление #2-исправлено

вещи, которые я узнал

  1. trigger() не требуется в документе(готов)
  2. получаете $.пользовательский интерфейс.keyCode для работы было сложно (по крайней мере, для меня)
  3. всегда смотрите, какие другие функции прикреплены к входу (onblur, onfocus, ect) aka doh

переписал его на это, отлично работает штраф в размере

 $(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;
 }
}

1 ответов


код для остановки действия по умолчанию должен перейти к элементу, к которому применяется событие..

$('#id_number').keydown(function(event){
  event.preventDefault();
  event.stopPropagation();
});

на .trigger() второй аргумент для extraParameters