- DOM0 事件和DOM2級在事件監聽使用方式上有什么區別?
區別:DOM0是html內聯形式的,1、其存在加載順序的問題,當事件處理程序在html之后加載,而用戶在未加載事件時進行點擊,則存在時間差。2、html和JavaScript相結合,耦合程度高,不利于后期升級維護。
DOM2級是標準瀏覽器的監聽方式,通過addEventListener和removeEventListener進行處理。1、html的所有節點都包含這兩個方法,同時其具有三個參數:事件類型如click;處理函數;和布爾類型,其中默認False,則表示其處于冒泡階段的時候調用事件處理程序。2、其可以書寫多個事件。 - attachEvent與addEventListener的區別?
attachEvent是IE的事件監聽方式,只有兩個參數。
addEventListener是標準瀏覽器的監聽方式,具有三個參數。
區別:1、attachEvent是適用于IE瀏覽器上的,addEventListener是適用于標準瀏覽器上的;2、attachEvent只接受兩個參數,同時事件名要帶上on,默認事件處理發生在冒泡時候;addEventListener接受三個參數,可以指定事件處理在冒泡時候還是捕獲時候(默認是false,則是冒泡時候);3、attachEvent的作用域是全局作用域,當this時,會返回window,而addEventListener的作用域是元素對象的作用域,當thsi時,會返回當前的對象。4、attache是冒泡的,所以對于同一元素添加多個事件處理程序,執行的時候是從后到前的執行的,addEventListener對于同一個元素添加多個事件處理程序時,按照添加順序進行的 - 解釋IE事件冒泡和DOM2事件傳播機制?
IE事件冒泡:就是IE對于事件流是從內到外的,就像魚泡泡一樣,從水里到水面一樣,是從目標元素到父元素再到document元素。
DOM2傳播機制:其是從外到內,在從內到外的。分為三個階段:事件捕獲階段,處于目標階段,事件冒泡階段。 - 如何阻止事件冒泡? 如何阻止默認事件?
阻止事件冒泡:IE: 使用 cancelBubble,設置為true;標準瀏覽器為stopPropagation
阻止默認事件:IE: 使用returnValue,設置為false;標準瀏覽器為PreventDefault - 有如下代碼,要求當點擊每一個元素li時控制臺展示該元素的文本內容。不考慮兼容
<ul class="ct">
<li>這里是</li>
<li>饑人谷</li>
<li>前端6班</li>
</ul>
<script>
var un=$('.ct');
//console.log(un);
un.addEventListener('click',handler,false);
function handler(e){
if(e.target&&e.target.nodeName.toLowerCase()=='li'){
console.log(e.target.innerText);
}
}
function $(id){
return document.querySelector(id);
}
function $$(cls){
return document.querySelectorAll(cls);
}
</script> - 補全代碼,要求:
當點擊按鈕開頭添加時在li這里是/li元素前添加一個新元素,內容為用戶輸入的非空字符串;當點擊結尾添加時在最后一個 li 元素后添加用戶輸入的非空字符串.
當點擊每一個元素li時控制臺展示該元素的文本內容。
<ul class="ct">
<li>這里是</li>
<li>饑人谷</li>
<li>任務班</li>
</ul>
<input class="ipt-add-content" placeholder="添加內容"/>
<button id="btn-add-start">開頭添加</button>
<button id="btn-add-end">結尾添加</button>
<script>
http://js.jirengu.com/mukic/4/edit //寫在js那邊了。
</script> - 補全代碼,要求:當鼠標放置在li元素上,會在img-preview里展示當前li元素的data-img對應的圖片。
<ul class="ct">
<li data-img="1.png">鼠標放置查看圖片1</li>
<li data-img="2.png">鼠標放置查看圖片2</li>
<li data-img="3.png">鼠標放置查看圖片3</li>
</ul>
<div class="img-preview"></div>
<script>
http://js.jirengu.com/waxu/7/edit //寫在js那邊了
</script> - 在 github 上創建個人項目,把視頻里事件兼容的函數寫法放入項目,在 Readme.md里描述項目(選做題目)
先放著。回去再看看視頻在寫
事件
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- JavaScript 程序采用了異步事件驅動編程模型。在這種程序設計風格下,當文檔、瀏覽器、元素或與之相關的對象發...
- 聲明:本文來源于http://www.webzsky.com/?p=731我只是在這里作為自己的學習筆記整理一下(...