0

单击我页面中的链接会提交 ajax 请求并在模式对话框窗口中加载响应。该响应包含一个 ID 为“ModalForm”的表单。我想要实现的是阻止此特定表单的“Enter”键的默认表单行为,并将其替换为执行我编写的 JS 函数。不幸的是,我无法让它工作,也无法收到警报消息。这是我的代码:

jQuery(function (){
    jQuery('#ModalForm').keypress(function(e){
        alert(e.keyCode);
        if (e.keyCode == 13) {
            modalWindowSubmit();
        }
    });

    jQuery('#ModalForm').on('keypress', (function() {
        alert('hi');
    });

});

提前致谢!

4

2 回答 2

1

您必须在 ajax 调用的“成功”中绑定表单上的事件

于 2012-09-06T17:07:31.130 回答
0

您必须使用 KeyUp - 按键时不知道键码

  jQuery(function (){
   jQuery('#ModalForm').keyup(function(e){
    alert(e.keyCode);
    if (e.keyCode == 13) {
        modalWindowSubmit();
    }
});

或者

  jQuery(document).on('keyup', '#ModalForm', (function(e) {
    alert(e.KeyCode);
  });

.on 通常用于在动态创建元素时将元素绑定到事件,如果不是这种情况,第一个选项将正常工作

于 2012-09-06T17:19:01.420 回答