色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Javascript 模擬點(diǎn)擊事件(點(diǎn)擊鏈接與html點(diǎn)擊) 兼容IE/Firefox

一把情況下模擬點(diǎn)擊一般兩個(gè)方面,模擬點(diǎn)擊超級(jí)連接事件
firefox的兼容的函數(shù)為
對(duì)HTMLAnchorElement 加入onclick事件
復(fù)制代碼 代碼如下:
try {
// create a element so that HTMLAnchorElement is accessible
document.createElement('a');
HTMLElement.prototype.click = function () {
if (typeof this.onclick == 'function') {
if (this.onclick({type: 'click'}) && this.href)
window.open(this.href, this.target? this.target : '_self');
}
else if (this.href)
window.open(this.href, this.target? this.target : '_self');
};
}
catch (e) {
// alert('click method for HTMLAnchorElement couldn/'t be added');
}

下面是具體的應(yīng)用

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
如果是普通的html添加點(diǎn)擊
這一段使得FireFox的HTMLElement具有click方法(add click method to HTMLElement in Mozilla)
復(fù)制代碼 代碼如下:
try {
// create span element so that HTMLElement is accessible
document.createElement('span');
HTMLElement.prototype.click = function () {
if (typeof this.onclick == 'function')
this.onclick({type: 'click'});
};
}
catch (e) {
// alert('click method for HTMLElement couldn/'t be added');
}

下面是網(wǎng)友的其它相關(guān)文章也可以參考下。
最近做東西發(fā)現(xiàn)用戶在網(wǎng)頁(yè)輸入框里面按回車的行為是不固定的。。。
特別是在網(wǎng)頁(yè)有多個(gè)表單的時(shí)候
于是搜了一把找了一個(gè)模擬點(diǎn)擊的js,經(jīng)測(cè)試能在firefox和ie上運(yùn)行
復(fù)制代碼 代碼如下:
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)置對(duì)象,linkId是模擬被點(diǎn)擊的對(duì)象id
比如<INPUT id="test" onkeypress="doClick("buttonId", event)">
這樣的話就能讓用戶按回車來(lái)提交表單了~
opera可以再改一下
復(fù)制代碼 代碼如下:
<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>

JavaScript技術(shù)Javascript 模擬點(diǎn)擊事件(點(diǎn)擊鏈接與html點(diǎn)擊) 兼容IE/Firefox,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 郑州市| 靖江市| 厦门市| 新建县| 揭东县| 东港市| 嘉祥县| 临清市| 石阡县| 瓮安县| 仪陇县| 灵宝市| 临邑县| 秦安县| 房产| 拉孜县| 来安县| 兰西县| 琼海市| 铁岭县| 连州市| 晋中市| 舟山市| 阿勒泰市| 增城市| 商洛市| 佛学| 临城县| 潞城市| 台南市| 岚皋县| 信宜市| 龙川县| 土默特左旗| 昭觉县| 阜新市| 梁平县| 黄山市| 沅陵县| 温宿县| 阜城县|