Javascript文本框事件

6 javascript textbox

我面临输入文本类型(即文本框)的问题.

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);' />)