开发者

jQuery IE7 / IE8: Prevent change event triggering on Enter

Here is sample code:

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

<input id="testing" />

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

How do you ppl do开发者_如何学Cing it in IE7 / IE8 etc?

Thanks ;)


Problem is, that the fact that it's changed has already occurred before your code is used.

So you can eat the change, but then on blur, it won't react that it's changed. Try this:

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

I think you'll see what I mean. I think to do what you want, you might need to have your own variable, and track changes.


The change() event is firing when the <input>s value is changed. The value is updated when the <input> loses focus. You could add a blur() handler to intercept the "change".

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜