W3C home > Mailing lists > Public > www-dom@w3.org > April to June 2010

Re: Proposal to ammend the composition event spec.

From: James Su <suzhe@google.com>
Date: Wed, 16 Jun 2010 18:08:16 -0700
Message-ID: <AANLkTilmhw0vqJwCYMHQq8SmBZxbgdRwg4C0fFWvsVn4@mail.gmail.com>
To: Ojan Vafai <ojan@chromium.org>
Cc: Hironori Bono (坊野 博典) <hbono@google.com>, Daniel Danilatos <daniel@danilatos.com>, www-dom@w3.org
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.

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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:14:04 GMT