[whatwg] focus change inside keypress event handler

Michael A. Puls II shadow2531 at gmail.com
Fri Oct 30 15:41:34 PDT 2009


On Fri, 30 Oct 2009 01:29:00 -0400, Boris Zbarsky <bzbarsky at mit.edu> wrote:

> On 10/29/09 9:58 PM, Michael A. Puls II wrote:
>>>> But, in Firefox, Safari and Opera, it's possible to change what  
>>>> element
>>>> the text is inserted into by changing the focus in 'keydown'.
>>>
>>> Right; that happens because the keydown and keypress events need not
>>> fire on the same element and because the text entry is the keypress
>>> default action. In Gecko, that is. I can't speak to Safari and Opera.
>>
>> So, just to be sure, you're happy with that behavior?
>
> Which?  It being possible to change focus in keydown and thus change  
> where the text will go?

Yes.

> I'm pretty agnostic on whether that should be possible or not. Whichever  
> way makes the event model simpler, I think.
>
>>> This seems wrong to me. If a key is held down, I would expect a single
>>> keydown followed by multiple keypresses.
>>
>> O.K. FF doesn't do that though. If you hold down a key, it'll do:
>> keydown
>> keypress
>>
>> over and over.
>>
>> At quick thought, are you O.K. with FF's current behavior being a bug?
>
> I don't know.  It's worth looking up why the behavior is as it is (that  
> is, what web sites depend on).  Multiple keypresses in this situation  
> are a definite necessity.

Thanks. Opera seems to get a way with the multiple keydowns. But, its user  
base isn't as large, so, I'm not sure how much weight that has.

>>>> Note that 'keyup' may fire before 'keypress' if you release the key
>>>> before an alert() inside the 'keydown' handler shows and blocks.
>>>
>>> This seems unfortunate, but ok.
>>
>> Is there a good way to solve that though? Or is that something that
>> should just be left as YMMV?
>
> Well, you could require an alert to block all key event delivery to the  
> web page, right?

Would that be a desirable solution? Is that hard to implement?

-- 
Michael



More information about the whatwg mailing list