Javascript 如何使元素在任何事件和所有事件上触发函数?

Javascript 如何使元素在任何事件和所有事件上触发函数?,javascript,javascript-events,event-handling,Javascript,Javascript Events,Event Handling,我不认为解释我的具体场景会有多大帮助。简而言之,我需要知道如何在任何和所有事件上调用函数。无论特定元素发生什么事件,都要调用相同的函数 在我看来,实现这一目标的理想方式是: <div onAnyEvent="function()"></div> 而不是: <div onClick="function()" onMouseover="function()" onKeypress="function()"></div> 通过研究,我发现最好的方

我不认为解释我的具体场景会有多大帮助。简而言之,我需要知道如何在任何和所有事件上调用函数。无论特定元素发生什么事件,都要调用相同的函数

在我看来,实现这一目标的理想方式是:

<div onAnyEvent="function()"></div>

而不是:

<div onClick="function()" onMouseover="function()" onKeypress="function()"></div>

通过研究,我发现最好的方法是为同一元素上的每个事件创建一个事件侦听器,如下所示:

window.onload = addListeners;

function addListeners(){
  if(window.addEventListener){
    document.getElementById('message').addEventListener('keydown',textarea_resize,false);
    document.getElementById('message').addEventListener('keyup',textarea_resize,false);
    document.getElementById('message').addEventListener('keypress',textarea_resize,false);
}
再进一步解释一下:

addEventListener(“要侦听的事件”,要调用的函数,使用捕获值)

第一个参数是要侦听的事件(即,
'click'
'keydown'

第二个是要调用的函数:(即,
validate\u form

-您还可以将参数发送到函数:
validate\u form(e,i)

对于大多数使用,use capture的最后一个值通常设置为
false
,如果未指定任何值,则
false
是自动值。可以得到进一步的解释


因此,完整的示例可能是:
document.getElementById('message').addEventListener('keydown',textarea_resize,false)如我上面所示。

你想在purJS中完成,或者jquery也可以?我想在纯JS中完成。谢谢你的提问。类似的问题希望能有所帮助……这正是我想要做的,除了没有jquery部分之外。:-)