无法实现js功能的跨浏览器兼容性

时间:2014-02-02 15:28:24

标签: javascript jquery cross-browser textarea

以下代码适用于在Firefox中的textarea中完全禁用退格键,但不适用于Chrome或Safari,任何建议都将非常受欢迎

$('#texttype').keypress(function(event){ 
var keycode = (event.keyCode ? event.keyCode : event.which);
    if(keycode == '8'){ 
        return false;
    }
        event.stopPropagation();

});

1 个答案:

答案 0 :(得分:1)

为什么不使用e.which,它在jQuery中规范化,键码是一个整数。

keydown事件会在任何按键时触发,并在所有浏览器中提供键码。

keypress事件在keydown之后触发,并且确实提供了一个键码,但它只保证字符键,并且不会触发webkit中的退格键。

$('#texttype').on('keydown', function(e) { 
    if ( e.which === 8 ) { 
        return false;
    }
    e.stopPropagation();
});

FIDDLE