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-修复
我学到的东西
$(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();
});