jQuery IE7 / IE8:阻止Enter上的更改事件触发

时间:2011-06-15 12:36:48

标签: jquery

以下是示例代码:

http://jsfiddle.net/BSjGX/1/

<input id="testing" />

$('#testing')
    .keydown(function(e){
        if(e.keyCode==13) {return false;}
    })
    .change(function(){
        $('body').append('<br />changed');
    });

你们如何在IE7 / IE8等中使用它?谢谢;)

2 个答案:

答案 0 :(得分:1)

问题是,在使用代码之前已经发生了更改的事实。

所以你可以吃掉变化,但随后变得模糊,它不会反应它的变化。试试这个:

$('#testing')
    .change(function(e){
        if (e.keyCode == 13) {
            e.preventDefault();
            return false;
        }
        $('body').append('<br />changed');
    });

我想你会明白我的意思。我认为要做你想做的事,你可能需要拥有自己的变量,并跟踪变化。

答案 1 :(得分:0)

<input> 更改后,change()事件即会触发。当<input>失去焦点时,会更新。您可以添加blur()处理程序来拦截“更改”。