解決Kendo UI NumericTextBox注音輸入法數字輸入問題

本文解决了KendoUI NumericTextBox在IE浏览器搭配注音输入法时无法使用键盘数字区输入数字的问题。通过调整CSS设置,强制停用IME模式,实现了跨浏览器一致的用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文出处:http://blog.darkthread.net/post-2013-08-09-kendonumerictextbox-phonetic-ime.aspx

自己用是倉頡輸入法,Kendo UI數字欄位(NumericTextBox)一直用得很開心,直到同事回報: NumericTextBox配上IE瀏覽器,使用注音輸入法時無法用鍵盤數字區(鍵盤右方的數字盤)輸入數字,使用Chrome或Firefox則無此問題。[Bug示範 (用IE+注音輸入法可重現問題)]

追進原始碼,判斷問題出在NumericTextBox的keydown事件,使用注音輸入法時,數字盤的按鍵代碼在IE與其他瀏覽器可能不同導致差異。原本已經捲好袖子要開始Hacking,福至心靈想到另一個巧妙解法: -ms-ime-mode!

既然是IE獨有的問題,用IE獨有的功能解決剛剛好! 遇到數字欄位時強迫把中文輸入法關掉,就不用煩惱注音輸入法的按鍵代碼跟別人有什麼不同。在CSS中加入一條新規則:

/* kendoNumericTextBox 注音數字輸入問題修正 */
.k-numeric-wrap > input
{
    /* 在IE下啟用注音輸入法無法用數字盤輸入,故停用IME */
    -ms-ime-mode: disabled;
    ime-mode: disabled;
}

靠著一條CSS規則,談笑間茶包灰飛煙滅,不亦快哉! 線上展示


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值