原来IE还能这样禁止输入中文

今天遇到个诡异bug,设计丢过来的皮肤测试下来无法在文本框中输入中文,输入法调不出来。
本来以为是设置了ime-mode,结果搜了半天没找到。
调试了半天原来设计那边误加了这样一段代码

  1. input{
  2.     bblr:expression(this.onFocus=this.blur());
  3. }

本来这句应该是用在链接 a 标签上的,用于去除虚线框,他是让链接元素一获得焦点,立即触发失去焦点的事件。结果在IE中就导致了在input中无法激活输入法了,因为系统认为你根本没有在输入框中嘛~
调试的很辛苦,不过这个发现很有趣。算是一个IE-Only的小hack吧,而且超好用。仅在ietester中测试过ie6和系统自带的ie8,其他的大家试着玩吧。
另外,我不反对使用css表达式,为了实现功能,用用也无妨,毕竟用户电脑卡死的几率较小,而功能不实现的话100%就是失败了。不兼容其他浏览器,那是另一回事了。比如网银,比如公司内部系统什么的,还是很有现实意义的小技巧

This entry was posted in jQuery. Bookmark the permalink.

2 Responses to 原来IE还能这样禁止输入中文

  1. Hobo says:

    哈哈,这些BUG可以应用在某些特殊的地方

  2. bing says:

    style="ime-mode:disabled"
    这个貌似好点
    IE FF3都支持

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>