遇高山,我御風(fēng)而翔,逢江河,我凌波微波
這個(gè)示例非常的簡(jiǎn)單,也完全說明了fireEvent的用法。不過這個(gè)示例有一點(diǎn)誤導(dǎo)我們,從而讓我們不容易發(fā)現(xiàn)frieEvent更有價(jià)值的使用方法。由于button的onclick事件被賦予語句:this.innerText = 'I have been clicked!',這里很容易誤導(dǎo)我們,fireEvent產(chǎn)生的是執(zhí)行了btn.onclick()的效果。嗯,確實(shí)是這個(gè)效果,但是意義卻完全不同,btn.onclick()只是一個(gè)函數(shù)調(diào)用,它的執(zhí)行必須依賴于用戶對(duì)其賦值,否則btn.onclick為null,是不能執(zhí)行btn.onclick()的。而fireEvent('onclick')的效果,"等同于"鼠標(biāo)在button元素上進(jìn)行了點(diǎn)擊。 由于IE的事件處理是bubble up方式,fireEvent(sEvent)就顯得更加的有意義了,如果我們?cè)谝粋€(gè)table元素<table>中監(jiān)聽事件,比如onclick,當(dāng)點(diǎn)擊不同的td做出不同的響應(yīng)時(shí)。如果使用程序來模擬,只能使用fireEvent這種方式,示例如下:
使用abc.onclick()和def.onclick()將得到"Object doesn't support this property or method"異常。
Powered by: BlogJava Copyright © askzs