這篇文章主要介紹js中DOM事件常見操作的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)是專業(yè)的和縣網(wǎng)站建設公司,和縣接單;提供網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行和縣網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
一、JavaScript的組成
JavaScript基礎分為三個部分:
ECMAScript:JavaScript的語法標準。包括變量、表達式、運算符、函數(shù)、if語句、for語句等。
DOM:文檔對象模型,操作網(wǎng)頁上的元素的API。比如讓盒子移動、變色、輪播圖等。
BOM:瀏覽器對象模型,操作瀏覽器部分功能的API。比如讓瀏覽器自動滾動。
二、事件
JS是以事件驅動為核心的一門語言。
事件的三要素
事件的三要素:事件源、事件、事件驅動程序
總結如下:
事件源:引發(fā)后續(xù)事件的html標簽。
事件:js已經定義好了(見下圖)。
事件驅動程序:對樣式和html的操作。也就是DOM
代碼書寫步驟如下:(重要)
(1)獲取事件源:document.getElementById("box"); //類似與ios語言的 UIButton *adBtn = [UIButton buttonWithType:UIButtonTypeCustom];
(2)綁定事件: 事件源box.事件onclick = function(){ 事件驅動程序 };
(3)書寫事件驅動程序:關于DOM的操作
舉例:
<body> <div id="box1">123</div> <script type="text/javascript"> // 1、獲取事件源 var div = document.getElementById("box1"); // 2、綁定事件 div.onclick = function () { // 3、書寫事件驅動程序 alert("我是彈出的內容"); } </script> </body> //點擊123將彈出要顯示的內容
常用事件:
1、獲取事件源的方式(DOM節(jié)點的獲?。?/strong>
var div1 = document.getElementById("box1"); //方式一:通過id獲取單個標簽 var arr1 = document.getElementsByTagName("div1"); //方式二:通過 標簽名 獲得 標簽數(shù)組,所以有s var arr2 = document.getElementsByClassName("hehe"); //方式三:通過 類名 獲得 標簽數(shù)組,所以有s
2、綁定事件的方式
方式一:直接綁定匿名函數(shù)
<div id="box1" >123</div> <script type="text/javascript"> var div1 = document.getElementById("box1"); //綁定事件的第一種方式 div1.onclick = function () { alert("我是彈出的內容"); } </script>
方式二:先單獨定義函數(shù),再綁定
<div id="box1" ></div> <script type="text/javascript"> var div1 = document.getElementById("box1"); //綁定事件的第二種方式 div1.onclick = fn; //注意,這里是fn,不是fn()。fn()指的是返回值。 //單獨定義函數(shù) function fn() { alert("我是彈出的內容"); } </script>
注意上方代碼的注釋。綁定的時候,是寫fn,不是寫fn()。fn代表的是整個函數(shù),而fn()代表的是返回值。
方式三:行內綁定
<!--行內綁定--> //注意第一行代碼,綁定時,是寫的"fn()",不是寫的"fn"。因為綁定的這段代碼不是寫在js代碼里的,而是被識別成了字符串。 <div id="box1" onclick="fn()"></div> <script type="text/javascript"> function fn() { alert("我是彈出的內容"); } </script>
3、事件驅動程序
<style> #box { width: 100px; height: 100px; background-color: pink; cursor: pointer; } </style> </head> <body> <div id="box" ></div> <script type="text/javascript"> var oDiv = document.getElementById("box"); //點擊鼠標時,原本粉色的div變大了,背景變紅了 oDiv.onclick = function () { oDiv.style.width = "200px"; //屬性值要寫引號 oDiv.style.height = "200px"; oDiv.style.backgroundColor = "red"; //屬性名是backgroundColor,不是background-Color } </script>
上方代碼的注意事項:
在js里寫屬性值時,要用引號
在js里寫屬性名時,是backgroundColor,不是CSS里面的background-Color。記得所有的像css屬性的text-*,line-*、backgroun-*等在js中都寫成駝峰
鼠標點擊變化顏色:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .box{ /*class*/ width:100px; height:100px; background-color:green; } </style> </head> <body> <div class="box" id="box">alex</div> </body> <script type="text/javascript"> var oDiv = document.getElementById('box'); var isGreen =true; oDiv.onclick=function(){ console.log(oDiv.style); if (isGreen){ oDiv.style.backgroundColor='red'; isGreen=false; //通過改變isGreen的值來控制鼠標點擊的效果 }else{ oDiv.style.backgroundColor='green'; isGreen=true; } } </script> </html> /*一個鼠標點擊就是一個事件*/
onload事件
當頁面加載(文本和圖片)完畢的時候,觸發(fā)onload事件。
<script type="text/javascript"> window.onload = function () { console.log("完畢"); //等頁面加載完畢時,打印字符串 } </script>
效果:鼠標懸停發(fā)生事件,將鼠標放在圖片1上面變成了圖片2
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script> //window.onload頁面加載完畢以后再執(zhí)行此代碼 window.onload = function () { //需求:鼠標放到img上,更換為另一張圖片,也就是修改路徑(src的值)。 //步驟: //1.獲取事件源 //2.綁定事件 //3.書寫事件驅動程序 //1.獲取事件源 var img = document.getElementById("box"); //2.綁定事件(懸停事件:鼠標進入到事件源中立即出發(fā)事件) img.onmouseover = function () { //3.書寫事件驅動程序(修改src) img.src = "2.jpg"; // this.src = "image/jd2.png"; }; } </script> </head> <body> <img id="box" src="1.jpg" /> </body> </html>
以上是“js中DOM事件常見操作的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章標題:js中DOM事件常見操作的示例分析
分享URL:http://muchs.cn/article18/pisggp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、服務器托管、Google、外貿建站、企業(yè)建站、建站公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)