js 中 document.createEvent的用法-转载
js 中 document.createEvent的用法
<a class="comment-mod" οnclick="alert('ss')" href="#">評論</a>
如果用戶直接查看文章列表,那么所有的評論以及評論框都是不顯示的,但是如果用戶通過別的頁面比如首頁的個人動態直接定位到這篇日志,那么評論就應該全部顯示。而列表頁和查看單個條目的頁面是同一個頁面,這就要求我判斷一下用戶是否定位到該篇日志,如果是,就通過JS來觸發 A 標簽的點擊事件。
一開始我嘗試了一些方法,想當然地以為 A 標簽和按鈕一樣是有 onclick() 事件的,結果發現沒有,后來從網上搜了一些資料之后,成功解決了這個問題^_^ 。解決辦法是針對 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)
參數 | 描述 |
eventType | 想獲取的 Event 對象的事件模塊名。 關于有效的事件類型列表,請參閱"說明"部分。 |
返回值
返回新創建的 Event 對象,具有指定的類型。
拋出
如果實現支持需要的事件類型,該方法將拋出代碼為 NOT_SUPPORTED_ERR 的 DOMException 異常。
說明
該方法將創建一種新的事件類型,該類型由參數 eventType 指定。注意,該參數的值不是要創建的事件接口的名稱,而是定義那個接口的 DOM 模塊的名稱。
下表列出了 eventType 的合法值和每個值創建的事件接口:
參數 | 事件接口 | 初始化方法 |
HTMLEvents | HTMLEvent | iniEvent() |
MouseEvents | MouseEvent | iniMouseEvent() |
UIEvents | UIEvent | iniUIEvent() |
用該方法創建了 Event 對象以后,必須用上表中所示的初始化方法初始化對象。關于初始化方法的詳細信息,請參閱 Event 對象參考。
該方法實際上不是由 Document 接口定義的,而是由 DocumentEvent 接口定義的。如果一個實現支持 Event 模塊,那么 Document 對象就會實現 DocumentEvent 接口并支持該方法。
轉載于:https://www.cnblogs.com/baizx/archive/2010/08/29/1811745.html
總結
以上是生活随笔為你收集整理的js 中 document.createEvent的用法-转载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [IE编程相关]之一:客户端键盘响应事件
- 下一篇: postgresql 备份恢复(一)