使用event.preventDefault()不会阻止Enter键

时间:2014-11-10 10:49:43

标签: jquery keypress

我试图阻止在输入字段中使用回车键。我设法为退格键执行此操作,以便我的窗口不会关闭,但它似乎不适用于回车键。为什么?可能是因为我解开了keydown函数吗?

$(document).unbind('keydown').bind('keydown', this.keyPress);

keyPress: function (event)
{
    var doPrevent = false;
    var d = event.srcElement || event.target;
    if ((d.tagName.toUpperCase() === 'INPUT' &&
                                                     (d.type.toUpperCase() === 'TEXT' ||
                                                         d.type.toUpperCase() === 'PASSWORD' ||
                                                         d.type.toUpperCase() === 'FILE' ||
                                                         d.type.toUpperCase() === 'EMAIL' ||
                                                         d.type.toUpperCase() === 'SEARCH' ||
                                                         d.type.toUpperCase() === 'DATE'))
                                                    || d.tagName.toUpperCase() === 'TEXTAREA') {

        if (event.keyCode === 8)
            doPrevent = d.readOnly || d.disabled;
        else if (event.keyCode == 13)
            doPrevent = true;
    }
    else
        doPrevent = true;
    if (doPrevent)
        event.preventDefault();
},

1 个答案:

答案 0 :(得分:0)

没关系,代码正常运行。如果我的窗口仍然关闭,那是因为输入键连接到位于backbone.modal.js中的另一个函数

谢谢!