原生js:click和onclick本質的區別


原生javascript的click在w3c里邊的闡述是DOM button對象,也是html DOM click() 方法,可模擬在按鈕上的一次鼠標單擊。

button 對象代表 HTML 文檔中的一個按鈕。button元素沒有默認的行為,但是必須有一個 onclick 事件句柄以便使用。

語法:buttonObject.click()

<html>
<head>
<script type="text/javascript">
function clickButton()
  {
  document.getElementById('button1').click()
  }
function alertMsg()
  {
  alert("Button 1 was clicked!")
  }
</script>
</head>
<body onload="clickButton()">

<form>
<input type="button" id="button1" onclick="alertMsg()" value="Button 1" />
</form>

</body>
</html>

 

onclick是一個事件Event對象 。支持該事件的 JavaScript 對象:button, document, checkbox, link, radio, reset, submit

HTML DOM Event 對象,代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、鼠標的位置、鼠標按鈕的狀態。事件通常與函數結合使用,函數不會在事件發生前被執行!

<html>
<body>
    Field1: <input type="text" id="field1" value="Hello World!"><br />
    Field2: <input type="text" id="field2"> <br />
    點擊下面的按鈕,把 Field1 的內容拷貝到 Field2 中: <br />
    <button onclick="document.getElementById('field2').value=document.getElementById('field1').value">Copy Text</button>
</body>
</html>    

 

區別

前面說了click是一個方法,onclick是一個事件。

而最根本的問題是,方法和事件的區別是什么呢?

其區別在於:

  1.事件名前一般都以on開頭;

  2.方法是程序員寫語句直接調用,即顯示調用;【可以觸發onclick事件

  3.事件不需程序員調用,但是,必須由程序員寫一個函數且將該函數賦值給相應的事件,其調用是在相應的事件觸發時。【告訴瀏覽器在鼠標點擊時候要做什么

所以調用順序是:首先方法其次事件。

 可以擴展學習和參考的文章:

2.$(“”).click與onclick的區別示例介紹
地址:http://www.jb51.net/article/55650.htm

3.從零開始學習jQuery (五) jquery事件與事件對象
地址:http://www.jb51.net/article/26331.htm

4.jquery動態移除/增加onclick屬性詳解
地址:http://www.php100.com/html/program/jquery/2013/0905/5964.html

Event 對象

轉載本人博文時請注明出處和原文地址!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM