Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何以组合形式向元素或节点添加两个事件处理程序?_Javascript_Jquery_Chaining - Fatal编程技术网

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

Javascript 如何以组合形式向元素或节点添加两个事件处理程序?,javascript,jquery,chaining,Javascript,Jquery,Chaining,我知道在jQuery中,我们可以以组合形式添加多个事件处理程序,但如何在纯Javascript中这样做呢 我们如何以如下组合形式附加事件处理程序: document.getElementsByTagName('input')[0].onclick.onkeypress = function() { alert(1); } 但它会抛出一个类型错误。jQuery让您更简洁,但这并没有什么不同: var e = document.getElementsByTagName('input')[0

我知道在jQuery中,我们可以以组合形式添加多个事件处理程序,但如何在纯Javascript中这样做呢

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

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

但它会抛出一个类型错误。

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

var e = document.getElementsByTagName('input')[0];
e.onclick = e.onkeypress = function() {
    alert(1);
};
如果要避免使用
元素污染全局命名空间,请执行以下操作:

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

您可以定义一个函数,将链接添加到
addEventListener
中,但这真的有意义吗?

@ShadowWizard事实上,如果目标是在执行OP操作时更加简洁,addEventListener甚至没有帮助。我把它拿走了,你的答案很好!但在按键之前,您错过了
上的