JavaScript:区分DOM元素对象和Event对象

时间:2011-08-29 18:44:50

标签: javascript jquery

  

可能重复:
  Javascript isDOM — How do you check if a Javascript Object is a DOM Object?

我有以下简单的功能:

function do_smth(el){

    if(typeof el != 'object'){
        el = this
    }
    var val = $.trim(el.value)

     /**** some code here ****/

}

有时它会作为事件绑定到元素

1)

element.onclick = do_smth

有时以下列方式使用

2)

do_smth(element)

这两种方式都应该有效......

问题是我在第一种情况下得到elEvent对象,即使没有传递参数。 因此typeof el != 'object'无法正常工作。

如何区分DOM元素或事件?

2 个答案:

答案 0 :(得分:1)

区分DOM元素

if(el.nodeType)

答案 1 :(得分:1)

function do_smth(el){
    el = el.nodeType == 1 ? el : this;
    var val = $.trim(el.value)
}