三部分:javascript
JS是以事件驅動爲核心的一門語言css
事件源,事件,事件驅動程序html
好比,我用手去按開關,燈亮了。這件事情裏,事件源是:手。事件是:按開關。事件驅動程序是:燈的開和關。java
再好比,網頁上彈出一個廣告,我點擊右上角的X
,廣告就關閉了。這件事情裏,事件源是:X
。事件是:onclick。事件驅動程序是:廣告關閉了數組
因而咱們能夠總結出:誰引起的後續事件,誰就是事件源瀏覽器
總結以下:函數
事件源:引起後續事件的html標籤。spa
事件:js已經定義好了(見下圖)。code
事件驅動程序:對樣式和html的操做。也就是DOMhtm
1. 獲取事件源
document.getElementById(「box」);
2. 綁定事件
box.onclick = function(){ 事件驅動程序 }; //事件源.事件
3. 書寫事件驅動程序:關於DOM的操做(業務邏輯)
具體代碼實例:
<div id="box" class="box"> <div id="child"> </div> </div> <script type="text/javascript"> //1.獲取事件源 var div = document.getElementById("box"); //2.綁定事件 div.onclick = function () { //3.書寫業務邏輯 alert("我是彈出的內容"); }
var div1 = document.getElementById("box1"); //方式一:經過id獲取單個標籤 var arr1 = document.getElementsByTagName("div1"); //方式二:經過 標籤名 得到 標籤數組,因此有s var arr2 = document.getElementsByClassName("hehe"); //方式三:經過 類名 得到 標籤數組,因此有s
方式一:直接綁定匿名函數
<div id="box" class="box"> <div id="child"> </div> </div> <script type="text/javascript"> //1.獲取事件源 var div = document.getElementById("box"); //2.綁定事件 div.onclick = function () { //3.書寫業務邏輯 alert("我是彈出的內容"); } </script>
方式二:先單獨定義函數,再綁定
<div id="box1" ></div> <script type="text/javascript"> var div1 = document.getElementById("box1"); //綁定事件的第二種方式 div1.onclick = fn; //注意,這裏是fn,不是fn()。fn()指的是返回值。 //單獨定義函數 function fn() { alert("我是彈出的內容"); } </script>
方式三:行內綁定
<!--行內綁定--> <div id="box1" onclick="fn()"></div> <script type="text/javascript"> function fn() { alert("我是彈出的內容"); } </script>
<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>
注意事項:
backgroundColor
,不是CSS裏面的background-Color
。記得全部的像css屬性的text-*,line-*、backgroun-*等在js中都寫成駝峯當頁面加載(文本和圖片)完畢的時候,觸發onload事件。
<script type="text/javascript"> window.onload = function () { console.log("哎喲不錯哦,我是周杰倫"); //等頁面加載完畢時,打印字符串 } </script>