您好,登錄后才能下訂單哦!
本篇文章為大家展示了javascript中怎么觸發(fā)模擬鼠標(biāo)點(diǎn)擊事件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
事件觸發(fā)器就是用來觸發(fā)某個(gè)元素下的某個(gè)事件,IE下fireEvent方法,高級瀏覽器(chrome,firefox等)有dispatchEvent方法。
一般我們在元素上綁定事件后,是靠用戶在這些元素上的鼠標(biāo)行為來捕獲或者觸發(fā)事件的,或者自帶的瀏覽器行為事件,比如click,mouseover,load等等,有些時(shí)候我們需要自定義事件或者在特定的情況下需要觸發(fā)這些事件。這個(gè)時(shí)候我們可以使用IE下fireEvent方法,高級瀏覽器(chrome,firefox等)有dispatchEvent方法。
例如在ie下看看這個(gè)例子:
//document上綁定自定義事件ondataavailable document.attachEvent('ondataavailable', function (event) { alert(event.eventType); }); var obj=document.getElementById("obj"); //obj元素上綁定click事件 obj.attachEvent('onclick', function (event) { alert(event.eventType); }); //調(diào)用document對象的createEventObject方法得到一個(gè)event的對象實(shí)例。 var event = document.createEventObject(); event.eventType = 'message'; //觸發(fā)document上綁定的自定義事件ondataavailable document.fireEvent('ondataavailable', event); //觸發(fā)obj元素上綁定click事件 document.getElementById("test").onclick = function () { obj.fireEvent('onclick', event); };
fireEvent的官方文檔
createEventObject的官方文檔
再看看高級瀏覽器(chrome,firefox等)的例子:
//document上綁定自定義事件ondataavailable document.addEventListener('ondataavailable', function (event) { alert(event.eventType); }, false); var obj = document.getElementById("obj"); //obj元素上綁定click事件 obj.addEventListener('click', function (event) { alert(event.eventType); }, false); //調(diào)用document對象的 createEvent 方法得到一個(gè)event的對象實(shí)例。 var event = document.createEvent('HTMLEvents'); // initEvent接受3個(gè)參數(shù): // 事件類型,是否冒泡,是否阻止瀏覽器的默認(rèn)行為 event.initEvent("ondataavailable", true, true); event.eventType = 'message'; //觸發(fā)document上綁定的自定義事件ondataavailable document.dispatchEvent(event); var event1 = document.createEvent('HTMLEvents'); event1.initEvent("click", true, true); event1.eventType = 'message'; //觸發(fā)obj元素上綁定click事件 document.getElementById("test").onclick = function () { obj.dispatchEvent(event1); };
上述內(nèi)容就是javascript中怎么觸發(fā)模擬鼠標(biāo)點(diǎn)擊事件,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。