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部分之外。:-)