最好的方法我已经通过研究发现,是创建一个事件侦听器每个事件都在同一个元素上,如下所示:
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('event to listen to', function_to_be_called, useCapture-value)
第一个参数是你要听(即该事件。 'click'
或'keydown'
)。
第二个是你想调用的函数:(即validate_form
)。
- 您还可以将参数发送到函数:validate_form(e, i)
。
对于大多数用途,上次使用捕获值通常会设置为false
,如果您未指定任何值,则false
是自动值。进一步的解释可以得到here!
所以一个完整的例子可能是:document.getElementById('message').addEventListener('keydown',textarea_resize,false);
,如上所示。
你想在pur JS或jquery中做它吗? – 2012-02-13 07:51:00
我想用纯JS做。感谢您的询问。 – person0 2012-02-13 07:52:33
类似的问题 http://stackoverflow.com/questions/5123356/jquery-action-fires-on-any-event 希望这有助于.... – 2012-02-13 08:03:12