-->

jQuery的触发()和上keydown事件stopPropagation()(jQuery tri

2019-09-23 12:28发布

我有困难的时候用的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的正确链接,并收到任何错误控制台

UPDATE以及它的工作,现在即时得到目标函数(A,B){返回新e.fn.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. ()没有必要在文档中触发(就绪)
  2. 越来越$ .ui.keyCode工作是困难的(至少对我来说)
  3. 总是看到什么其他功能连接到输入(的onblur,聚焦状态,ECT)又名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;
 }
}

Answer 1:

代码停止默认操作必须前往该事件适用于元素..

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

所述.trigger()的第二个参数是用于extraParameters



文章来源: jQuery trigger() and stopPropagation() on keydown event