这可能不仅适用于Symbian,还适用于其他移动操作环境。但是,问题是,当更改文本区域字段时,我想在键入时更新计数。在大多数浏览器中,使用textarea标签上的类似代码很容易做到这一点:
onkeyup="document.getElementById('size').innerHTML=this.value.length;
但是,在Symbian中,onkeyup事件似乎没有正常触发(似乎所有输入都已缓冲或类似的东西)。现在,我可以将其替换为:
onblur="document.getElementById('size').innerHTML=this.value.length;
...这很好用,但是当然只有在失去焦点时才更新DIV(总比没有好,但不如您键入时更新)。
有人在Symbian上专门遇到过这样的问题吗?在其他任何移动浏览器上?有什么想法/解决方案吗?
自从我开始使用Symbian以来,我就一直很讨厌它-它们的API中有如此多的怪异事物。我会投票给那些抱怨Symbian的人。 ;-)
最佳答案
在Symbian的WebKit版本中,键盘事件被弄乱了。处理它们的唯一可靠方法是在文档[!]上设置处理程序。现在,我还没有尝试过在textarea具有焦点的情况下使用它,但是它确实可以在更简单的控件上使用。基本上,您使用onfocus和onblur将特定于控件的事件处理程序与文档关联/取消关联。当然,如果您想以这种方式创建可重用的小部件,那么您将遭受很多痛苦:(
OTOH,如果您对Symbian的小键盘怪癖感到不安,请在Android的迷你Chrome浏览器中关注鼠标事件...这些都在FUBAR标题下!
...最大...
PS。如果您需要更多帮助,请访问:max-at-motovilov-dot-com。您应该可以在forum.nokia.com上通过Google搜索此问题,但那里的信息并不多...这都是反复试验的结果。
关于javascript - Javascript onchange在文本区域中起作用(Symbian浏览器),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/341744/