我在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){return new 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 - 已修复
我学到的东西将其改写为此,完美无缺
$(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;
}
}
答案 0 :(得分:8)
停止默认操作的代码必须转到事件适用的元素..
$('#id_number').keydown(function(event){
event.preventDefault();
event.stopPropagation();
});
.trigger()
第二个参数适用于extraParameters