キーダウンと伝播の停止に苦労しています
私は私のページを更新したくありません、私は私が考えることができるすべての方法を試しました、私の現在のコードは
<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とjqueryuiが正しくリンクされており、コンソールエラーは発生しません。
UPDATE は正常に機能していましたが、オブジェクト関数(a、b){return new e.fn.init(a、b、h)}のプロパティ'event'を取得しても、以下のコードでは関数エラーではありません。
$(document).ready(function() {
var e = jQuery.event( 'keydown', { which: $.ui.keyCode.ENTER } , function(event){
event.preventDefault();
event.stopPropagation();
});
$('#id_number').trigger(e);
});
更新#2-修正
私が学んだこと
- ドキュメントにtrigger()は必要ありません(ready)
- $ .ui.keyCodeを機能させるのは困難でした(少なくとも私にとっては)
- 入力に接続されている他の関数(onblur、onfocus、ect)を常に確認してください。
これに書き直し、完全に正常に動作します
$(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;
}
}