JS13

this的使用

1.給一組元素綁定事件

? ? ? ? for(var i = 0;i<list.length;i++{

? ? ? ? ? ? ? ? lis[i].onclick=function(){

? ? ? ? ? ? ? ? console.log(i);

? ? ? ? ? ? ? ? this.style.backgroundColor=”red”;

? ? ? ? }

}

2. 在元素內部通過事件屬性使用

? ? ? ? <button onclick = 'change(this)'></button>

? ? ? ? function change(ob){ob.style.color='red'}

事件列表

1.鼠標事件

? ? ? ? 1.onclick 單擊

? ? ? ? 2.ondblclick 雙擊

? ? ? ? 3.oncontextmenu右擊 --return false 阻止系統菜單彈出

? ? 自定義右鍵菜單


? ? ? ? ? ? ? ? 1.event對象

? ? ? ? ? ? ? ? 2.client.X? client.Y

? ? ? ? ? ? ? ? 3.window.innerWidth? window.innerHeight

? ? ? ? ? ? ? ? 4.document.documentElement.clientWidth;

? ? ? ? ? ? ? ? 5.document.documentElement.clientHeiht;


? ? ? ? 4.onmouseover 鼠標滑上元素 --導航條

? ? ? ? 5.onmouseout 鼠標移出元素

? ? ? ? 6.onmousedown 鼠標按下

? ? ? ? ? ? ? ? box.onmousedown=function(en){

? ? ? ? ? ? ? ? ? ? ? ? var env = en || window.event;

? ? ? ? ? ? ? ? ? ? ? ? switch (env.button){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? console.log(env.button);? ??

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ?}

? ? ? ? 7.onmouseup 鼠標抬起

? ? ? ? 8.onmousemove 鼠標移動

? ? ? ? ? ? ? ? box.onmousemove=function(en){

? ? ? ? ? ? ? ? ? ? ? ? var env = en || window.event;

? ? ? ? ? ? ? ? ? ? ? ? //獲取鼠標的坐標

? ? ? ? ? ? ? ? ? ? ? ? var X = env.clientX;

? ? ? ? ? ? ? ? ? ? ? ? var Y = env.clientY;

? ? ? ? ? ? ? ? ? ? ? ?//獲取box的位置? --offsetLeft相對于定位的父級

? ? ? ? ? ? ? ? ? ? ? ?var left? = this.offsetLeft;

? ? ? ? ? ? ? ? ? ? ? ?var top? = this.offsetTop;

? ? ? ? ? ? ? ? ? ? ? //得到鼠標在box上的位置

? ? ? ? ? ? ? ? ? ? ? ?var x = X-left;? var y = Y-top;

? ? ? ? ? ? ? ? }

2. 鍵盤事件

? ? ? ? onkeydown 鍵盤按下

? ? ? ? onkeyup 鍵盤抬起

? ? ? ? onkeypress 鍵盤按下---可打印的(可見的)

? ? ? ? ? ? ? ? document.onkeydown=function(en){

? ? ? ? ? ? ? ? ? ? ? ? ?var e = en || window.event;

? ? ? ? ? ? ? ? ? ? ? ? ?var char = String.fromCharCode(e.keyCode);

? ? ? ? ? ? ? ? ? ? ? ? ?返回ASCII表的字母(大寫)

? ? ? ? ? ? ? ? }

3. 文檔事件

? ? ? ? onload 文檔中的一切加載完成(可以使代碼放在元素前面)

? ? ? ? onunload 文檔關閉的時候(w3c里有標準但是瀏覽器不支持)

? ? ? ? onbeforeunload 文檔關閉之前

? ? body window的兼容和沖突

? ? ? ? ? ? window.onload=function(){

? ? ? ? ? ? ? ? ? ? alert(1);

? ? ? ? ? ? };

? ? 瀏覽器支持較差

? ? ? ? ? ? window.onbeforeunload = function(){

? ? ? ? ? ? ? ? ? ? return "別走";? //頁面刷新的時候提醒

? ? ? ? ? ? }

4. 表單事件

? ? ? ? 1.onsubmit --- 提交

? ? ? ? ? ? ? ? document.myForm.onsubmit=function(){

? ? ? ? ? ? ? ? ? ? ? ? return false;? 不提交

? ? ? ? ? ? ? ? ? ? ? ?//return true;? 提交

? ? ? ? ? ? ? ? }

? ? ? ? 2.onreset --- 重置

? ? ? ? ? ? ? ? ? doucment.myform.onreset=function(){

? ? ? ? ? ? ? ? ? ? ? ? ? return false ;? ? 不重置

? ? ? ? ? ? ? ? ? ? ? ? ? //return true;? ? ? ? 重置

? ? ? ? ? ? ? ? ? }

? ? ? ?3.onfocus -- 獲取焦點

? ? ? ? ? ? ? ? ?inp.onfocus=function(){

? ? ? ? ? ? ? ? ? ? ? ? ? ?this.style.backgroundColor='blue';

? ? ? ? ? ? ? ? ?}

? ? ? ? 4.onblur ---失去焦點

? ? ? ? ? ? ? ? 使用onblur驗證表單(提高用戶體驗)

? ? ? ? 5.onchange ---內容發生改變(失去焦點)

? ? ? ? ? ? ? ? input.onchange = function(){

? ? ? ? ? ? ? ? ? ? ? document.getElementById('box').innerHTML = this.value;

? ? ? ? ? ? ? ?}

? ? ? ? 實例:地址聯動

? ? ? ? 6.onselect ---當內容被選擇(表單)

? ? ? ? ? ? ? ? textarea.onselect = function(){

? ? ? ? ? ? ? ? ? ? ? ? alert('選中了');

? ? ? ? ? ? ? ? }

5. 圖片事件

? ? ? ? onload ---加載完成

? ? ? ? ? ? ? ? <img src="1.jpg" onload='alert()'>

? ? ? ? onerror ---加載失敗

? ? ? ? ? ? ? ? img.onerror = function(){this.src = "error.jpg";}

? ? ? ? onabort ---加載中斷

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 單例模式 適用場景:可能會在場景中使用到對象,但只有一個實例,加載時并不主動創建,需要時才創建 最常見的單例模式,...
    Obeing閱讀 2,109評論 1 10
  • 一、DOM 什么是DOM?Document Object Model(文檔對象模型)。DOM是針對HTML和XML...
    空谷悠閱讀 988評論 0 2
  • 工廠模式類似于現實生活中的工廠可以產生大量相似的商品,去做同樣的事情,實現同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,854評論 2 17
  • 夏天到了,又到了拿蒲公英茶水當涼茶喝的好時節了。夏天喝蒲公英確實好,清熱去火,排毒潤燥。但是喝蒲公英也是有禁忌的,...
    就像憤怒閱讀 314評論 0 0
  • 念奴嬌雪閱讀 302評論 0 2