原生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
2
3
4
5
|
其区别在于: 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
<script type="text/javascript"> $(function(){ $("#btn4").click(function(){ $("#btn3").click(); }); }); function change(){ alert("onclick"); } </script> <button id="btn3" onclick="change()">dd</button> <button id="btn4">ee</button>
区别:
1.onclick是绑定事件,告诉浏览器在鼠标点击时候要做什么。
click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,就会触发onclick事件。
如上诉代码所示,当点击'ee'按钮时,会触发'dd'的onclick事件(正常来说得按'dd'按钮才触发'dd'的onclick事件),原因就是因为 $("#btn4").click(function(){$("#btn3").click(); 点击'ee'按钮时,代码内部调用了'dd'的click()方法,从而触发了'dd'的onclick事件。 2.click()方法的主要作用是触发调用click方法元素onclick事件。
此外,如果在click方法定义了如下代码
$("#btn3").click(function(){alert("*****");
click方法中的function代码会在onclick事件执行完后执行,此时click方法起到追加事件的作用。实例如下:
<script type="text/javascript"> $(function(){ $("#btn3").click(function(){ alert("aa"); }); }); function change(){ alert("bb"); } </script> <button id="btn3" onclick="change()">dd</button>