我有以下代碼。javascript:如何檢查屬性是undefined
elem.onkeypress=function(e){
if((e.which===undefined?e.keyCode:e.which)==13){
//dosomething
}
}
在IE8,它occus誤差修改:'which' is null or not an object
如何解決這個問題。
我有以下代碼。javascript:如何檢查屬性是undefined
elem.onkeypress=function(e){
if((e.which===undefined?e.keyCode:e.which)==13){
//dosomething
}
}
在IE8,它occus誤差修改:'which' is null or not an object
如何解決這個問題。
去的問題是,e
在IE,因爲沒有事件對象作爲參數傳遞給事件處理程序通過不確定的。您需要window.event
屬性:的[檢查在JavaScript「未定義」的最佳方式]
elem.onkeypress=function(e) {
e = e || window.event;
var charCode = e.which || e.keyCode;
if (charCode == 13) {
//dosomething
}
};
使用的typeof:
if (typeof e.which == 'undefined' ? e.keyCode : e.which) == 13)
一種方式是通過(e.hasOwnProperty('which') ? ...
可能重複(http://stackoverflow.com/questions/3390396/best-way-to-check-for-未定義在JavaScript)和其他... – 2010-10-21 08:48:39
有點不同是這一個是檢查wheather一個對象的屬性是未定義的,而不是一個變量。 – 2010-10-21 09:12:41
該問題與'which'屬性的'undefined'檢查無關。問題是'e'是未定義的。 – 2010-10-21 09:14:01