js 中 document.createEvent的用法
更新時(shí)間:2010年08月29日 23:22:02 作者:
用該方法創(chuàng)建了 Event 對(duì)象以后,必須用上表中所示的初始化方法初始化對(duì)象。關(guān)于初始化方法的詳細(xì)信息,請(qǐng)參閱 Event 對(duì)象參考。
<a class="comment-mod" onclick="alert('ss')" href="#">評(píng)論</a>
如果用戶直接查看文章列表,那么所有的評(píng)論以及評(píng)論框都是不顯示的,但是如果用戶通過別的頁面比如首頁的個(gè)人動(dòng)態(tài)直接定位到這篇日志,那么評(píng)論就應(yīng)該全部顯示。而列表頁和查看單個(gè)條目的頁面是同一個(gè)頁面,這就要求我判斷一下用戶是否定位到該篇日志,如果是,就通過JS來觸發(fā) A 標(biāo)簽的點(diǎn)擊事件。
一開始我嘗試了一些方法,想當(dāng)然地以為 A 標(biāo)簽和按鈕一樣是有 onclick() 事件的,結(jié)果發(fā)現(xiàn)沒有,后來從網(wǎng)上搜了一些資料之后,成功解決了這個(gè)問題^_^ 。解決辦法是針對(duì) IE 和 FF編寫不同的邏輯,部分代碼如下:
<script>
var comment = document.getElementsByTagName('a')[0];
if (document.all) {
// For IE
comment.click();
} else if (document.createEvent) {
//FOR DOM2
var ev = document.createEvent('HTMLEvents');
ev.initEvent('click', false, true);
comment.dispatchEvent(ev);
}
</script>
語法:
createEvent(eventType)
參數(shù)
描述
eventType
想獲取的 Event 對(duì)象的事件模塊名。
關(guān)于有效的事件類型列表,請(qǐng)參閱"說明"部分。
返回值
返回新創(chuàng)建的 Event 對(duì)象,具有指定的類型。
拋出
如果實(shí)現(xiàn)支持需要的事件類型,該方法將拋出代碼為 NOT_SUPPORTED_ERR 的 DOMException 異常。
說明
該方法將創(chuàng)建一種新的事件類型,該類型由參數(shù) eventType 指定。注意,該參數(shù)的值不是要?jiǎng)?chuàng)建的事件接口的名稱,而是定義那個(gè)接口的 DOM 模塊的名稱。
下表列出了 eventType 的合法值和每個(gè)值創(chuàng)建的事件接口:
參數(shù)
事件接口
初始化方法
HTMLEvents
HTMLEvent
iniEvent()
MouseEvents
MouseEvent
iniMouseEvent()
UIEvents
UIEvent
iniUIEvent()
用該方法創(chuàng)建了 Event 對(duì)象以后,必須用上表中所示的初始化方法初始化對(duì)象。關(guān)于初始化方法的詳細(xì)信息,請(qǐng)參閱 Event 對(duì)象參考。
該方法實(shí)際上不是由 Document 接口定義的,而是由 DocumentEvent 接口定義的。如果一個(gè)實(shí)現(xiàn)支持 Event 模塊,那么 Document 對(duì)象就會(huì)實(shí)現(xiàn) DocumentEvent 接口并支持該方法。
如果用戶直接查看文章列表,那么所有的評(píng)論以及評(píng)論框都是不顯示的,但是如果用戶通過別的頁面比如首頁的個(gè)人動(dòng)態(tài)直接定位到這篇日志,那么評(píng)論就應(yīng)該全部顯示。而列表頁和查看單個(gè)條目的頁面是同一個(gè)頁面,這就要求我判斷一下用戶是否定位到該篇日志,如果是,就通過JS來觸發(fā) A 標(biāo)簽的點(diǎn)擊事件。
一開始我嘗試了一些方法,想當(dāng)然地以為 A 標(biāo)簽和按鈕一樣是有 onclick() 事件的,結(jié)果發(fā)現(xiàn)沒有,后來從網(wǎng)上搜了一些資料之后,成功解決了這個(gè)問題^_^ 。解決辦法是針對(duì) IE 和 FF編寫不同的邏輯,部分代碼如下:
復(fù)制代碼 代碼如下:
<script>
var comment = document.getElementsByTagName('a')[0];
if (document.all) {
// For IE
comment.click();
} else if (document.createEvent) {
//FOR DOM2
var ev = document.createEvent('HTMLEvents');
ev.initEvent('click', false, true);
comment.dispatchEvent(ev);
}
</script>
語法:
createEvent(eventType)
參數(shù)
描述
eventType
想獲取的 Event 對(duì)象的事件模塊名。
關(guān)于有效的事件類型列表,請(qǐng)參閱"說明"部分。
返回值
返回新創(chuàng)建的 Event 對(duì)象,具有指定的類型。
拋出
如果實(shí)現(xiàn)支持需要的事件類型,該方法將拋出代碼為 NOT_SUPPORTED_ERR 的 DOMException 異常。
說明
該方法將創(chuàng)建一種新的事件類型,該類型由參數(shù) eventType 指定。注意,該參數(shù)的值不是要?jiǎng)?chuàng)建的事件接口的名稱,而是定義那個(gè)接口的 DOM 模塊的名稱。
下表列出了 eventType 的合法值和每個(gè)值創(chuàng)建的事件接口:
參數(shù)
事件接口
初始化方法
HTMLEvents
HTMLEvent
iniEvent()
MouseEvents
MouseEvent
iniMouseEvent()
UIEvents
UIEvent
iniUIEvent()
用該方法創(chuàng)建了 Event 對(duì)象以后,必須用上表中所示的初始化方法初始化對(duì)象。關(guān)于初始化方法的詳細(xì)信息,請(qǐng)參閱 Event 對(duì)象參考。
該方法實(shí)際上不是由 Document 接口定義的,而是由 DocumentEvent 接口定義的。如果一個(gè)實(shí)現(xiàn)支持 Event 模塊,那么 Document 對(duì)象就會(huì)實(shí)現(xiàn) DocumentEvent 接口并支持該方法。
相關(guān)文章
JS表單驗(yàn)證插件之?dāng)?shù)據(jù)與邏輯分離操作實(shí)例分析【策略模式】
這篇文章主要介紹了JS表單驗(yàn)證插件之?dāng)?shù)據(jù)與邏輯分離操作,結(jié)合實(shí)例形式分析了JavaScript基于策略模式實(shí)現(xiàn)數(shù)據(jù)與邏輯分離的表單驗(yàn)證插件相關(guān)原理、操作技巧及注意事項(xiàng),需要的朋友可以參考下2020-05-05js中.sort()函數(shù)的常見用法與高級(jí)操作
JavaScript中的sort函數(shù)可以用來對(duì)數(shù)組進(jìn)行排序,默認(rèn)情況下sort函數(shù)將數(shù)組中的元素轉(zhuǎn)換為字符串,并按照Unicode碼點(diǎn)的順序進(jìn)行排序,下面這篇文章主要給大家介紹了關(guān)于js中.sort()函數(shù)的常見用法與高級(jí)操作的相關(guān)資料,需要的朋友可以參考下2023-05-05JS中不應(yīng)該使用箭頭函數(shù)的四種情況詳解
箭頭函數(shù)給我們的工作帶來了極大的方便,但是它們有什么缺點(diǎn)呢?我們應(yīng)該一直使用箭頭函數(shù)嗎?我們應(yīng)該在哪些場(chǎng)景中停止使用箭頭函數(shù)?本文就來為大家詳細(xì)講講2022-07-07JavaScript 開發(fā)工具webstrom使用指南
本文給大家推薦了一款非常熱門的javascript開發(fā)工具webstrom,著重介紹了webstrom的特色功能、設(shè)置技巧、使用心得以及快捷鍵匯總,非常的全面。2014-12-12JavaScript判斷瀏覽器運(yùn)行環(huán)境的詳細(xì)方法
這篇文章主要給大家介紹了關(guān)于JavaScript判斷瀏覽器運(yùn)行環(huán)境的詳細(xì)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼
這篇文章主要介紹了JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02