我正在尝试从内联onkeyup
事件转移并从
<input name="some1" id="some1" onkeyup="ajax_autocomplete('some1',this.value,event);">
到
<input name="some1" id="some1" class="autoc">
并在页面加载后
var acinputs = document.querySelectorAll('.autoc');
for(var i=0; field=acinputs[i]; i++)
{
field.onkeyup = function() {update.call(this);}
function update()
{
var text = this.value;
// How to get keycode now from event?
// Before: var kc=event.which;if(kc==undefined){kc=event.keyCode}
}
}
我的问题是,虽然我之前从event
收到keycode
内联event
内联数据,但我现在不知道如何从事件中获取数据? this.value
为我提供了在input
中输入的文字,但this.event
无效!我知道this.event
不是从this
获取事件的正确方法!
我不使用jQuery。
答案 0 :(得分:5)
将参数添加为参数
在我的示例中,event
被称为ev
。
field.onkeyup = function(ev) {update.call(this, ev);}
function update(th, ev)
{
var text = th.value;
var kc=ev.which;
if(kc==undefined) {
kc=ev.keyCode
}
}