第十章 事件event
生活随笔
收集整理的這篇文章主要介紹了
第十章 事件event
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
outerHtml/innerHTML/innerHTML
- 簡單地說innerHTML和outerHTML,innerText的不同之處在于:
- innerHtml將元素中所有的內容都獲取到包括HTML標簽,但是不包括自身標簽innerText
- innerText將元素的內容獲取出來不包括HTML標簽
- outerHtml將自身以及元素所有的內容都獲取出來包括HTML標簽包括自身標簽
自定義屬性及getAttribute/setAttribute方法
<div id="d"></div>//setAttribute("屬性名稱","屬性值名稱")//getAttribute("屬性名稱") : 返回屬性名稱對應的屬性值//我們可以通過setAttribute設置自定義屬性var d = document.getElementById("d");d.setAttribute("heihei",123);document.write(d.getAttribute("heihei"));獲取非行內樣式(兼容問題)
- 行內樣式:行內樣式就是卸載標簽內的樣式:如<div style="color:red;"></div>,在這里color樣式就是行內樣式.
- 非行內樣式:非行內樣式就是指不是寫在標簽體內的style屬性的樣式.如<style>...</style>內的定義樣式或引用的外部css文件都是非行內樣式.
insertBefore:添加到一個節點前面
- 父節點.insertBefore(要添加的子節點,參照節點);參照節點如果為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返回數值 如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(){//兼容問題 獲取滾動條移動的垂直距離_top = document.body.scrollTop || document.documentElement.scrollTop;console.log(_top);}function fun(){document.body.scrollTop = document.documentElement.scrollTop = 0;}</script>事件
- 事件對象
- 事件:對某個元素的某種操作
- 事件對象:當某個事件觸發時產生的對象,就是事件對象.
- event使用前提,必須有事件,不同的事件產生的事件對象不同.
- 事件對象的兼容性:var e = evt || event;
- 事件對象擁有該事件先關的屬性和方法
- 案例:小老虎跳一跳
- 鼠標事件對象的屬性
- 坐標屬性:
pageX/pageY相對于整個文檔頂部和左側的坐標
clientX/clientY相對于局部窗口的左側和頂部的坐標
offsetX/offsetY 相對于內部元素 的距離左側和頂部的坐標 常用于拖拽 document.onclick = function(evt) {var e = evt || event;console.log("client" + e.clientX + "," + e.clientY); //只記錄當前局部頁面算,用的比較少console.log("page" + e.pageX + "," + e.pageY); //從document頁面算起...習慣上用page,比較常用,console.log("offset" + e.offsetX + "," + e.offsetY); //用于拖拽}- 案例:圖片跟隨鼠標移動
- 坐標屬性:
- 鍵盤事件
- onkeyup:用戶釋放某一個按鍵時發生,任何一個按鍵即可發生事件
- onkeypress:用戶按下按鍵,并且產生一個字符時發生(意思就是說按ctrl這樣的按鍵沒有效果的)
- onkeydown:用戶按下按鍵時發生,任何一個按鍵即可發生事件
- 事件對象的屬性:
keyCode:獲取鍵盤按鍵值 字母對應其ASCII值識別
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:返回當事件被觸發時,"Ctrl" 是否被按下,返回值為true or false//【注意】:鍵盤檢測兼容寫方法var key = e.keyCode || e.which || e.charCode;
總結
以上是生活随笔為你收集整理的第十章 事件event的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据集:CIFAR-10、CIFAR-1
- 下一篇: 计算每年的母亲节日期-C语言代码