Seven Yu @ 11/14/2009 (1:18 pm)

如何设置日本手机文本框默认输入模式

Tags: , , ::

日本手机中有好几种输入模式, 包括平假名, 片假名, 英文 和 数字, 根据上下文自动开启对应的输入模式无疑可以极大提高用户体验, 下面就是关于该问题的针对日本三大手机厂商的解决方案:

au(KDDI), docomo(i-mode) 利用 "istyle" 属性, 对应值:

属性值 Mode 1
(kana input mode)
Mode 2
(pager message input mode)
1 Full-size kana Full-size characters
2 Half-size kana Half-size characters
3 Alphabetic Half-size characters
4 Numeric Half-size characters
PLAIN TEXT >> HTML:
  1. <input type="text" istyle="4" />

SoftBank 使用 "mode" 属性, 对应值:

属性值 含义
hiragana 全角ひらがな
katakana 全角カタカナ
hankakukana 半角カタカナ
alphabet 英字
numeric 数字
PLAIN TEXT >> HTML:
  1. <input type="text" mode="numeric" />

参考网址:

BTW: 最近在公司忙一个日本 flash lite 项目, 如果有时间我会将项目中遇到的一些问题, 难点和小技巧等总结出来, 发布到这里 :D 如有错误, 欢迎指正, 谢谢.

Seven Yu @ 04/08/2009 (4:35 pm)

<p> 里的 <div>

Tags: , , ::

今天 jQuery 群里提出一个有趣的话题: children 和 find 函数, 能否取到 <p> 里的 <div> 元素.

这问题初看起来答案似乎是肯定的, 容器标签互相可以嵌套, 没道理取不到啊.

但经过试验, 结果很令人不解, 因为确实取不到 <p> 里的 <div> 元素.

参考代码如下:

PLAIN TEXT >> HTML:
  1.     <div></div>
  2. </p>

一段非常普通, 看似没什么问题的代码, 用 jQuery 取 div 元素:

PLAIN TEXT >> JAVASCRIPT:
  1. alert($('p').children('div').size());
  2. // return 0
  3. alert($('p').find('div').size());
  4. // return 0

为什么呢? 怀疑 jQuery 框架? selector? RP? ... no! 都不是. 答案是 w3c 标准. (//todo, 找参考资料)

<p> 标签在遇到 <div> 标签后会自动关闭, 各浏览器引擎解析上面的 html 代码会得到下面的结果.

IE

PLAIN TEXT >> HTML:
  1. <DIV></DIV>
  2. <P></P>

Firefox

PLAIN TEXT >> HTML:
  1.     </p><div></div>

Chrome

PLAIN TEXT >> HTML:
  1.     </p><div></div>
  2. <p></p>

看, 小问题引发大麻烦... 上面的代码实际上也是不符合 html 标签的语义的. 所以在构建看似简单的 html 时也得注意, 除了了解各标签的语义外, 还要了解标准是怎样的, 掌握规则才不会被灵异事件纠缠...