2
如何加入在Javascript多個事件處理程序,如以下情形:加入多個事件處理程序的Javascript
onClick="doSomething();" onKeyUp="doSomething();" onLoad="doSomething();"
如何加入在Javascript多個事件處理程序,如以下情形:加入多個事件處理程序的Javascript
onClick="doSomething();" onKeyUp="doSomething();" onLoad="doSomething();"
function doSomething(){ console.log("Done!"); }
var element = document.getElementById("my-element");
element.onClick = element.onKeyUp = element.onLoad = doSomething;
我建議使用JavaScript庫的代碼從自己添加事件抽象瀏覽器差異遠。
我也建議將事件本身傳遞給函數(原型和jQuery都這樣做)。
<script>
function doSomething(event){
/*your code here*/
/*this refers to the dom node in both libraries*/
};
</script>
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
<script>
$("my-element").bind("click keyup load", doSomething);
</script>
<script src="http://www.prototypejs.org/assets/2008/9/29/prototype-1.6.0.3.js"></script>
<script>
$('my-element').observe('click', doSomething);
$('my-element').observe('keyup ', doSomething);
$('my-element').observe('load', doSomething);
</script>