原生js:click和onclick本质的区别(转https://www.cnblogs.com/web1/p/6555662.html)
原生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>

原生js:click和onclick本质的区别(转https://www.cnblogs.com/web1/p/6555662.html)的更多相关文章
- 原生js:click和onclick本质的区别
原生javascript的click在w3c里边的阐述是DOM button对象,也是html DOM click() 方法,可模拟在按钮上的一次鼠标单击. button 对象代表 HTML 文档中的 ...
- click和onclick本质的区别
原生javascript的click在w3c里边的阐述是DOM button对象,也是html DOM click() 方法,可模拟在按钮上的一次鼠标单击. button 对象代表 HTML 文档中的 ...
- 原生JS forEach()和map()遍历的区别以及兼容写法
一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...
- 原生JS和jQuery操作DOM的区别小结
一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...
- js click 与 onclick 事件绑定,触发与解绑
click 与 onclick 1.onclick 事件会在对象被点击时发生. <input id="btn1" type="button" onclic ...
- 原生JS与JQ获取元素的区别
刚学JQ不久,有时候可能会把JS和JQ获取元素的方式搞错,接下来获取属性方法什么的就一发不可收拾了,现在把两者获取获取元素的代码整理下. 一.原生JS获取元素. 1.常用的三种方式获取元素对象(将指定 ...
- 原生js中slice()方法和splice()区别
slice()方法和splice()方法都是原生js中对数组操作的方法. slice(),返回一个新的数组,该方法可从已有的数组中返回选定的元素.例如:arrObject(start,end),sta ...
- 原生js ajax与jquery ajax的区别
原生js ajax的调用: ajax({ type : "get", url : "02_ajax_get.txt", data : { "userN ...
- javascript 中 click 和onclick有什么区别呢
<script type="text/javascript"> $(function(){ $("#btn4").click(function(){ ...
随机推荐
- POJ 1182食物链(并查集)
食物链Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 85474 Accepted: 25549Description动物王国中有三 ...
- Topcoder SRM 674 Div.2题解
T1 解题思路 这题应该不是很难,主要是题意理解问题. 注意给出的两个数组里映射关系已经对应好了,只要判断是否为双射即可 参考程序 #include <bits/stdc++.h> usi ...
- (LeetCode)1114. 按序打印
题目来源:https://leetcode-cn.com/problems/print-in-order/ 我们提供了一个类: public class Foo { public void one( ...
- 解决zbx的web界面zabbix服务器端运行中 显示为不(启动命令)
zabbix装完,发现server和agent服务都起来了,端口监听了,但是web界面zabbix服务器端运行中为 不 解决: 打开浏览器,到zabbix的setup.php界面 一般输入 ip/za ...
- JS基础_Null和Undefind
1.Null Null类型的值只有一个值,就是null null专门用来表示一个为空的对象 var a=null; console.log(a);//nulltypeof a //object 2.U ...
- git设置mergetool可视化工具
可以设置BeyondCompare,DiffMerge等作为git的比较和合并的可视化工具,方便操作. 设置如下: 先下载并安装BeyondCompare,DiffMerge等. 设置git配置, ...
- leetcode-easy-listnode-237 Delete Node in a Linked List
mycode # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # sel ...
- 代码实现:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。 已抽签决定比赛名单。有人向队员打听比赛的名单。 a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
/*两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人. 已抽签决定比赛名单.有人向队员打听比赛的名单. a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单.*/ ...
- c#端口扫描器wpf+socket
布局如下 <Window x:Class="PortTest.MainWindow" xmlns="http://schemas.microsoft.com/win ...
- zk 文件存储
zk 有 2 种文件,快照和事务日志,快照是某一时刻的全量数据,事务日志中记录了数据的修改事件. 快照的文件名是 snapshot.zxid,zxid 是当前最大的事务 id // org.apach ...