如何以组合形式向元素或节点添加两个事件处理程序?

时间:2013-02-10 12:52:09

标签: javascript jquery chaining

我知道在jQuery中我们可以组合形式添加多个事件处理程序但是如何在纯Javascript中执行它?

我们如何以这样的组合形式附加事件处理程序:

document.getElementsByTagName('input')[0].onclick.onkeypress = function() {
    alert(1);
}

但它抛出了一个typeError。

1 个答案:

答案 0 :(得分:1)

jQuery让你更简洁,但这并没有什么不同:

var e = document.getElementsByTagName('input')[0];
e.onclick = e.onkeypress = function() {
    alert(1);
};

如果您想避免使用element污染全局命名空间,请执行以下操作:

(function(){
  var e = document.getElementsByTagName('input')[0];
  e.onclick = e.onkeypress = function() {
    alert(1);
  };
})();

您可以定义一个函数来将链接添加到addEventListener但是真的有点吗?