有人能够解释这个吗?
基本上当你在firefox中,并且你点击tab时,onchange中的“console.log”会被调用,但不会在Chrome / Safari(webkit)或IE中被调用。
function initLookup(id) {
var lookupElement = document.getElementById(id);
var lookup = new Lookup(lookupElement);
lookupElement.lookup = lookup;
}
function Lookup(lookupElement) {
this.doKeyDown = doKeyDown;
this.setLookup = setLookup;
this.inputElement = lookupElement;
this.inputElement.onkeydown = this.doKeyDown;
var self = this;
function setLookup() {
self.inputElement.value = 'asdf';
}
function doKeyDown(event) {
if(event.keyCode == 9) {
setLookup();
}
}
}
initLookup("one");
一个JS小提琴工作示例:
答案 0 :(得分:0)
Gecko与IE(显然是Webkit)不同,因为change
事件在blur
事件被触发后被触发。
通过设置 TAB 键上的值,您可以有效地阻止应用更改,因为change
触发器是由focus
触发器上检测到的值之间的差异定义的{1}}和blur
。
element.onchange
在Mozilla开发者网络上