Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
keydown事件上的jQuery触发器()和stopPropagation()_Jquery_Jquery Ui_Keydown_Preventdefault_Stoppropagation - Fatal编程技术网

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

keydown事件上的jQuery触发器()和stopPropagation(),jquery,jquery-ui,keydown,preventdefault,stoppropagation,Jquery,Jquery Ui,Keydown,Preventdefault,Stoppropagation,我在按键和停止传播方面遇到了困难 我不希望我的页面刷新,我已经尝试了所有我能想到的方法,我当前的代码是 <script> $(document).ready(function() { var e = jQuery.event( 'keydown', { which: $.ui.keyCode.ENTER } ); $('#id_number').trigger(e, function(event){ event.preventDefault(); event.stopPro

我在按键和停止传播方面遇到了困难

我不希望我的页面刷新,我已经尝试了所有我能想到的方法,我当前的代码是

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

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

 });
 </script>
更新#2-修复

我学到的东西

  • 文档中不需要触发器()(就绪)
  • 让$.ui.keyCode工作起来很困难(至少对我来说)
  • 始终查看输入附加了哪些其他功能(onblur、onfocus等)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;
     }
    }
    

    停止默认操作的代码必须转到事件应用的元素

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

    第二个参数用于
    外部参数

    为什么您认为
    事件
    函数(必须将其更改为
    事件
    ,大写字母E)使用第三个参数?根据文档,它只需要两个参数。。第一个是事件类型,第二个是具有事件属性的对象..因为我认为是哑的?我很困惑,很抱歉,你的答案是对的,我只是无法让它工作,直到我重写了code@worthycaesar,有关您的修复的更多信息。jQuery规范化了
    事件。该事件
    因此始终包含按下的键。。看见
    $('#id_number').keydown(function(event){
      event.preventDefault();
      event.stopPropagation();
    });