W3C home > Mailing lists > Public > public-html-ig-zh@w3.org > February 2011

用輸入法打字時 input.value 被更改的情形

From: Kang-Hao (Kenny) Lu <kennyluck@w3.org>
Date: Tue, 01 Mar 2011 08:24:27 +0900
Message-ID: <4D6C2EAB.5020409@w3.org>
To: 中文HTML5同樂會ML <public-html-ig-zh@w3.org>
大家好!

日本 Mozilla 的加藤先生[1][2]提出了以下這個問題:

當你在一個文字框裡打字而且正用輸入法到一半的時候,如果 script 用更改到了
文字框的值,到底該取消輸入法打到一半的字然後改變文字框的內容呢?還是輸入
法或檔掉這個 script 呢?或是該發生什麼其他的事?

請大家玩玩看以下的 HTML 或其變形

<script>
function setvalue() {
  document.getElementById('test').value = "replaced";
}
</script>
<body onload="setInterval('setvalue()',2000)">
<input type="text" id="test"/>
</body>

在不同瀏覽器下在文字框裡打字看會發生什麼事。

一個類似的問題是,當文字框的文字更改時鍵盤指標應該跑到哪裡去的問題。這裡
我試了兩個瀏覽器:

- FF4.0b11下,如果值*沒有改變*則指標會停留在原處,改變的話指標會移到最後面。
- Safari 5下,不管怎麼樣,指標都會移到最後面。

歡迎補充,另外看看大家覺得怎麼樣的行為才是合理的。

[1]
http://lists.w3.org/Archives/Public/www-international/2011JanMar/thread#msg127
[2]
http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/thread#msg694

此致
Kenny, W3C
Twitter: http://twitter.com/kanghaolu
Plurk: http://www.plurk.com/kennyluck
Received on Monday, 28 February 2011 23:22:51 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:43:46 UTC