我不确定我是否理解我正在工作的这个脚本中 IE 的行为。这是我正在使用的脚本的一部分,似乎在 Chrome 中运行良好
$(document).keydown(function (event) {
var keyvalue = event.which || event.keyCode;
var eventtarget = event.srcElement.nodeName || event.target.nodeName;
var readonlycheck = event.srcElement.readOnly || event.target.readOnly;
});
问题出现在 readonlycheck 变量上。在 IE 中,我收到“无法获取未定义或空引用的属性 'readOnly'”的错误。
在 Chrome 中,如果已定义,则 readOnly 返回“true”,如果未定义,则返回“false”。IE 给我一个错误,即使它仍然适用于 nodeName。
我真正感到困惑的是,我可以通过更改最后一行来消除 target.readOnly 来使其工作。所以这似乎适用于两种浏览器......
var readonlycheck = event.srcElement.readOnly;
谁能解释为什么 readOnly 的行为不同?另外,我认为 srcElement 只是 IE,那么为什么 Chrome 在没有 target.readOnly 的情况下仍然可以工作?
任何帮助,将不胜感激。我对 javascript 和 jquery 还是很陌生,所以我确定我错过了一些东西。