IE和FireFox下通用的Javascript模擬點(diǎn)擊事件(轉(zhuǎn)) - VIRGIN FOREST OF JAVA - BlogJava
最近做東西發(fā)現(xiàn)用戶在網(wǎng)頁輸入框里面按回車的行為是不固定的。。。
特別是在網(wǎng)頁有多個表單的時候
于是搜了一把找了一個模擬點(diǎn)擊的js,經(jīng)測試能在firefox和ie上運(yùn)行
function doClick(linkId, e){
if(e.keyCode != 13){
return;
}
var fireOnThis = document.getElementById(linkId)
if (document.createEvent)
{
var evObj = document.createEvent('MouseEvents')
evObj.initEvent( 'click', true, false )
fireOnThis.dispatchEvent(evObj)
}
else if (document.createEventObject)
{
fireOnThis.fireEvent('onclick')
}
}其中e是event,內(nèi)置對象,linkId是模擬被點(diǎn)擊的對象id
比如
<INPUT id="test" onkeypress="doClick("buttonId", event)">
這樣的話就能讓用戶按回車來提交表單了~
opera可以再改一下
<img id="a" src="/a.jpg" onclick="alert('a');"/><div onclick="clickObj('a')">click me</div>
<script language="javascript">
<!--
function clickObj(o){
var o = document.getElementById(o);
if( document.all && typeof( document.all ) == "object" ) //IE
{
o.fireEvent("onclick");
}
else
{
var e = document.createEvent('MouseEvent');
e.initEvent('click',false,false);
o.dispatchEvent(e);
}
}
//-->
</script>
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。