事件使用和触发
一. 使用事件: http://www.cnblogs.com/birdshome/archive/2005/04/11/109356.html
1. 使用传统XHTML事件处理器属性.例如:<form obsubmit="myFunction();">
2. 被关联至某个对象.例如:document.getElementById("myForm").onsubmit=myFunction().
3. 使用诸如IE的attachEvent()这样的私有方法. 在原有onload事件上增加处理 例如:
window.attachEvent("onload", function(){alert('继承onload');})
使用detachEvent()移除一个处理器,语法与attachEvent()相同.
4. 使用DOM2方法.例如,使用一个节点的addEventListener()方法.来设置事件监听器.
FireFox用addEventListener IE用attachEvent 写法如下 :
if (window.addEventListener)
{
window.addEventListener( "onload ",init,false);
}
else {
window.attachEvent( "onload ",init);
}
<table border="1" onclick="alert(event.srcElement.innerText);">
<tr>
<td id="abc">abc</td>
<td id="def">def</td>
</tr>
</table>
<button onclick="abc.fireEvent('onclick')">
abc</button>
<button onclick="def.fireEvent('onclick')">
def</button>
二触发事件:
1. 对由用户引发或JavaScript引发的动作进行 响应时岂浏览器隐式触发.
2. 由JavaScript使用DOM1方法显式触发,例如: document.forms[0].submit();
3. 使用诸如IE的fireEvent()这样的方法来显式发. 例 如:
http://www.cnblogs.com/birdshome/archive/2005/04/07/128182.html
function fnFireEvents()
{
div.innerText = "The cursor has moved over me!";
btn.fireEvent("onclick");
}
4. 由JavaScript使用DOM2的dispatchEvent()方法显式触发.