Re: Proposal to ammend the composition event spec.

To prevent all text input, I think the preferred way is to just cancel
keydown event. In this case we don't need to care about textInput and
composition events at all. It's also compatible with non-IME input mode. So
I think textInput and composition events should not be fired at all if
keydown is cancelled.

Regards
James Su

2010/6/16 Ojan Vafai <ojan@chromium.org>

> On Wed, Jun 16, 2010 at 2:38 PM, Ojan Vafai <ojan@chromium.org> wrote:
>
>> to type "wo" -> 我
>>
>> user "w"  <-- Canceling keydown should prevent the composition from
>> starting and the DOM should not be modified.
>>
>
> Upon further thought, I think we should also fire a textInput event here
> (not sure if it should fire before or after compositionstart). "data" can
> just be the empty string. It should be possible to only listen to textInput
> and preventDefault to prevent all text insertion. You shouldn't need to
> listen to both textInput and keydown/compositionstart.
>
>
>> event compositionstart
>> ("w")
>>
>> user "o"  <-- Not related to textInput since this keydown doesn't generate
>> a textInput event. One cross-platform solution would be to cancel the
>> composition.
>> ("wo")
>>
>> user <space>  <-- Same as above.
>> ("我")
>>
>> user <space> (to commit the composition) <-- Should cancel the textInput
>> and thus cancel the composition.
>>
>> ("")
>> event textInput (cancelable)
>> ("我")
>> event compositionend
>>
>> -Ojan
>>
>>
>

Received on Thursday, 17 June 2010 01:09:05 UTC