我面临输入文本类型(即文本框)的问题.
我onkeyup在文本框上编写了事件使用的函数.这条线看起来像这样:
<input type='TEXT' value='abc' onkeyup='changeSomething( this );'>
Run Code Online (Sandbox Code Playgroud)
但是现在我遇到的问题是,当用户从先前输入的值中选择值时,当用户从下拉列表中选择任何先前输入的值时,我没有收到任何事件(编辑:我相信他在这里指的是浏览器自动完成).
有人有解决方案吗?:)
Jon*_*and 11
使用onchange,而不是onkeyup在这种情况下,
请参阅:http://www.w3schools.com/jsref/event_onchange.asp
例如
<input type='text' value='abc' onchange='changeSomething(this);' />
Run Code Online (Sandbox Code Playgroud)
绕过这个
编辑
两件事:
1)可以使用箭头键和输入/选项卡以及使用鼠标选择自动完成值.箭头键/ enter.tab激活onkeyup事件...然后单击自动完成框不会触发onclick事件.
2)如果内容发生变化,一旦焦点丢失,onchange事件就会触发.选择自动完成值时,焦点不会丢失.
从本质上讲,似乎没有任何方法可以合理地保证事件将按您希望的方式处理.
首先,你真的需要听每次击键吗?其次,关闭自动完成功能会更好吗?(例如<input type='text' value='abc' autocomplete='off' onkeyup='changeSomething(this);' />)
| 归档时间: |
|
| 查看次数: |
57447 次 |
| 最近记录: |