第十章 事件event
生活随笔
收集整理的這篇文章主要介紹了
第十章 事件event
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
outerHtml/innerHTML/innerHTML
- 簡(jiǎn)單地說innerHTML和outerHTML,innerText的不同之處在于:
- innerHtml將元素中所有的內(nèi)容都獲取到包括HTML標(biāo)簽,但是不包括自身標(biāo)簽innerText
- innerText將元素的內(nèi)容獲取出來不包括HTML標(biāo)簽
- outerHtml將自身以及元素所有的內(nèi)容都獲取出來包括HTML標(biāo)簽包括自身標(biāo)簽
自定義屬性及getAttribute/setAttribute方法
<div id="d"></div>//setAttribute("屬性名稱","屬性值名稱")//getAttribute("屬性名稱") : 返回屬性名稱對(duì)應(yīng)的屬性值//我們可以通過setAttribute設(shè)置自定義屬性var d = document.getElementById("d");d.setAttribute("heihei",123);document.write(d.getAttribute("heihei"));獲取非行內(nèi)樣式(兼容問題)
- 行內(nèi)樣式:行內(nèi)樣式就是卸載標(biāo)簽內(nèi)的樣式:如<div style="color:red;"></div>,在這里color樣式就是行內(nèi)樣式.
- 非行內(nèi)樣式:非行內(nèi)樣式就是指不是寫在標(biāo)簽體內(nèi)的style屬性的樣式.如<style>...</style>內(nèi)的定義樣式或引用的外部css文件都是非行內(nèi)樣式.
insertBefore:添加到一個(gè)節(jié)點(diǎn)前面
- 父節(jié)點(diǎn).insertBefore(要添加的子節(jié)點(diǎn),參照節(jié)點(diǎn));參照節(jié)點(diǎn)如果為null那就和appendChild()一樣
offsetWidth/offsetHeight/offsetLeft/offsetTop
<style>*{margin: 0;padding: 0;}#big{border: 1px solid red;position: relative;height: 400px;width: 400px;}#small{border: 1px solid red;position: absolute;height: 100px;width: 100px;left: 80px;top: 70px;}</style></head><body><div id="big"><div id="small"></div></div></body></html><script>var d = document.getElementById("small");//只讀document.write(d.offsetLeft + " " + d.offsetTop + "</br>");//這2是哪來的?document.write(d.offsetWidth + " " + d.offsetHeight);//d.style.left = 200 + "px";style.left返回字符串 如20px, offsetLeft返回?cái)?shù)值 如20style.left讀寫,offsetLeft只讀style.left必須要事先定義,否則值為空//style.height style.width style.top 也一樣window.onscroll事件
回到頂部的案例 <body><div id="t"><p>111111111111111</p>....<p>111111111111111</p></div><button onclick="fun()">按鈕</button></body></html><script>var _top = null;window.onscroll = function(){//兼容問題 獲取滾動(dòng)條移動(dòng)的垂直距離_top = document.body.scrollTop || document.documentElement.scrollTop;console.log(_top);}function fun(){document.body.scrollTop = document.documentElement.scrollTop = 0;}</script>事件
- 事件對(duì)象
- 事件:對(duì)某個(gè)元素的某種操作
- 事件對(duì)象:當(dāng)某個(gè)事件觸發(fā)時(shí)產(chǎn)生的對(duì)象,就是事件對(duì)象.
- event使用前提,必須有事件,不同的事件產(chǎn)生的事件對(duì)象不同.
- 事件對(duì)象的兼容性:var e = evt || event;
- 事件對(duì)象擁有該事件先關(guān)的屬性和方法
- 案例:小老虎跳一跳
- 鼠標(biāo)事件對(duì)象的屬性
- 坐標(biāo)屬性:
pageX/pageY相對(duì)于整個(gè)文檔頂部和左側(cè)的坐標(biāo)
clientX/clientY相對(duì)于局部窗口的左側(cè)和頂部的坐標(biāo)
offsetX/offsetY 相對(duì)于內(nèi)部元素 的距離左側(cè)和頂部的坐標(biāo) 常用于拖拽 document.onclick = function(evt) {var e = evt || event;console.log("client" + e.clientX + "," + e.clientY); //只記錄當(dāng)前局部頁(yè)面算,用的比較少console.log("page" + e.pageX + "," + e.pageY); //從document頁(yè)面算起...習(xí)慣上用page,比較常用,console.log("offset" + e.offsetX + "," + e.offsetY); //用于拖拽}- 案例:圖片跟隨鼠標(biāo)移動(dòng)
- 坐標(biāo)屬性:
- 鍵盤事件
- onkeyup:用戶釋放某一個(gè)按鍵時(shí)發(fā)生,任何一個(gè)按鍵即可發(fā)生事件
- onkeypress:用戶按下按鍵,并且產(chǎn)生一個(gè)字符時(shí)發(fā)生(意思就是說按ctrl這樣的按鍵沒有效果的)
- onkeydown:用戶按下按鍵時(shí)發(fā)生,任何一個(gè)按鍵即可發(fā)生事件
- 事件對(duì)象的屬性:
keyCode:獲取鍵盤按鍵值 字母對(duì)應(yīng)其ASCII值識(shí)別
A:65 a:97 0:48 回車:13
注意:keyPress的ctrl+回車返回值為10 document.onkeypress = function(evt){var e = evt || event;if(e.keyCode == 13 || e.keyCode == 10 && e.ctrlKey){alert("send");}}// ctrlKey:返回當(dāng)事件被觸發(fā)時(shí),"Ctrl" 是否被按下,返回值為true or false//【注意】:鍵盤檢測(cè)兼容寫方法var key = e.keyCode || e.which || e.charCode;
總結(jié)
以上是生活随笔為你收集整理的第十章 事件event的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据集:CIFAR-10、CIFAR-1
- 下一篇: 计算每年的母亲节日期-C语言代码