javascript: how to check a property is undefined
I have codes below.
elem.onkeypress=function(e){
if( (e.which===undefined?e.keyCode:e开发者_高级运维.which)==13 ){
//dosomething
}
}
at IE8, it occus erros: 'which' is null or not an object
how to fix this problem.
The problem is that e
is undefined in IE because no event object is passed as a parameter to the event handler. You need the window.event
property:
elem.onkeypress=function(e) {
e = e || window.event;
var charCode = e.which || e.keyCode;
if (charCode == 13) {
//dosomething
}
};
One option is to go with (e.hasOwnProperty('which') ? ...
use typeof:
if (typeof e.which == 'undefined' ? e.keyCode : e.which) == 13)
精彩评论