js和jQuery中的事件绑定与普通事件
普通事件,是指直接对元素进行事件注册,然后触发
而事件绑定是将事件注册到元素上
两者区别就是在于普通事件不可以重复添加多个事件,若添加也会覆盖,只会触发其中一个事件(最后注册的那个)
而事件绑定是可以重复绑定多个事件,而且都可以触发
<html> <a class="ack1">点击触发绑定事件</a><br><br>
<a class="ack2">点击触发普通事件</a>
</html> <script>
function foo1(){
alert('触发点击1');
}
function foo2(){
alert('触发点击2');
} var ack1=document.getElementsByClassName("ack1");
ack1.addEventListener('click',foo1);
ack1.addEventListener('click',foo2);
//弹出 触发点击1 和 触发点击2 var ack2 = document.getElementsByClassName("ack2");
ack2.onclick = foo1;
ack2.onclick = foo2;
//只会弹出 触发点击2
</script>
而在jQuery中则有点不同,而且jQuery本身允许通过普通事件添加多个触发函数
function foo1(){
alert('触发点击1');
}
function foo2(){
alert('触发点击2');
} //都会触发两个函数 弹出 触发点击1 触发点击2
$(".ack1").on('click',foo1);
$(".ack1").on('click',foo2); $(".ack2").click(foo1);
$(".ack2").click(foo2);
//都会触发两个函数 弹出 触发点击1 触发点击2
jQuery中事件绑定是指为动态创建的元素绑定上事件触发,不只是为元素绑定多个事件
注意对元素动态绑定事件,一般需要通过父类元素为其绑定,才会使该子类(刚刚添加的元素)可以被触发
$(document).on('click','.ack1',foo1);
$(".ack1").click(function(){
var ele=$(this).clone();
$(this).after(ele); //后克隆的元素依旧可以触发foo1事件函数
}); $(".ack2").click(foo2);
$(".ack2").click(function(){
var ele=$(this).clone();
$(this).after(ele); //无法触发foo2事件函数
});
事件委托:
$("要绑定标签的上级标签").on("click","要绑定的标签",function) $("要绑定标签的上级标签").delegate("要绑定的标签","click",function)
js和jQuery中的事件绑定与普通事件的更多相关文章
- jQuery中bind函数绑定多个事件
名人名言:道德是真理之花.——雨果 在jQuery中绑定多个事件名称是,使用空格隔开,举例如下: $("#foo").bind("mouseenter mouseleav ...
- 使用JS或jQuery模拟鼠标点击a标签事件代码
原文 使用JS或jQuery模拟鼠标点击a标签事件代码 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下 <a id="alink" ...
- js课程 5-13 js事件绑定和鼠标事件注意事项有哪些
js课程 5-13 js事件绑定和鼠标事件注意事项有哪些 一.总结 一句话总结:js代码的灵魂就是改变标签的属性和样式,就这两种. 1.js触发改的东西是哪两样? 属性和样式 2.js如何让页面用标 ...
- js和jquery中有关透明度操作的问题
在日常开发的网站中,常常会用到设置透明度问题,最简单的就是图片的淡入淡出效果.下面我介绍一下在原生js和jQuery中设置透明度的相关问题和注意点: 1 透明度样式设置 透明度在IE浏览器 ...
- 如何在js或者jquery中操作EL表达式的一个List集合
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 先说明此篇博客看明白了可以干嘛: 就是在js或者jquery中操作一个EL表达式的一个list集合或者复杂类型 ...
- js和jquery中获取非行间样式
样式又分为了行间样式和非行间样式.一般来说行间样式用的是比较少的,因为它能够作用的范围就只有一个元素,而非行间样式的作用范围可以是一类元素(即拥有相同德标签,或者说是有相同的类名,(当然id名不可能相 ...
- JS和jQuery中的事件总结(一)
学而时习之,小白现在天天写页面,基础知识还是要恶补的. 进入正题,什么是事件(此处单独对jQuery.JS)?就是JS和Html之间的交互时呢,用户和浏览器操作页面时的动作(其实是为引发的效果的执行操 ...
- JS和JQuery中的事件托付 学习笔记
事件托付事实上并非一个非常高级的技巧,比方在一个页面里面.当仅仅存在两个button的时候.可能你给button加入监听是这种:(本文不考虑浏览器兼容性.关于事件的兼容性可參考前面的学习笔记) < ...
- python 全栈开发,Day55(jQuery的位置信息,JS的事件流的概念(重点),事件对象,jQuery的事件绑定和解绑,事件委托(事件代理))
一.jQuery的位置信息 jQuery的位置信息跟JS的client系列.offset系列.scroll系列封装好的一些简便api. 一.宽度和高度 获取宽度 .width() 描述:为匹配的元素集 ...
随机推荐
- HDU5977 Garden of Eden 【FMT】【树形DP】
题目大意:求有所有颜色的路径数. 题目分析:参考codeforces997C,先利用基的FMT的性质在$O(2^k)$做FMT,再利用只还原一位的特点在$O(2^k)$还原,不知道为什么网上都要点分治 ...
- IDEA中Maven项目使用Junit4单元测试的写法
IDEA默认是安装了junit控件的,直接使用就好了 在maven项目的pom.xml文件中添加依赖 <dependency> <groupId>junit</group ...
- 【HDU3595】GG and MM(博弈论)
[HDU3595]GG and MM(博弈论) 题面 HDU 一个游戏由多个游戏组成,每次每个操作者必须操作所有可以操作的游戏,操作集合为空者输. 每个游戏由两堆石子组成,每次可以从较多的那一堆中取走 ...
- Linux网络基础-总
目录 Linux网络基础 一.网卡和数据包的转发 1.收包流程 二.多网卡bonding 三.SR-IOV 四.DPDK 五.TUN/TAP 六.Linux bridge 和VLAN 七.TCP/IP ...
- 自适应PC端网页制作使用REM
做一个PC端的网页,设计图是1920X1080的. 要在常见屏上显示正常(比例正确可) 1280X720 1366X768 1440X900 1920X1080 使用了几种办法 1.内容在一屏内显示的 ...
- 「ZJOI2016」旅行者 解题报告
「ZJOI2016」旅行者 对网格图进行分治. 每次从中间选一列,然后枚举每个这一列的格子作为起点跑最短路,进入子矩形时把询问划分一下,有点类似整体二分 至于复杂度么,我不会阿 Code: #incl ...
- __init__和__new__的异同
实例化类的流程: 1.p = Person(name, age)2.首先执行使用name和age参数来执行Person类的__new__方法,这个__new__方法会 返回Person类的一个实例(p ...
- Thinkphp5 captcha扩展包安装,验证码验证以及点击刷新
首先下载 captcha扩展包,↓ 下载附件,解压到vendor目录下: 然后进入application/config.php添加配置信息: //验证码 'captcha' => ...
- A1127. ZigZagging on a Tree
Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...
- 【洛谷P3901】数列找不同
题目大意:给定一个长度为 N 的序列,每个点被染了一个颜色.现有 M 个询问,每个询问查询区间 [l,r] 内的点是否颜色都是不同的. 题解:莫队裸题. 直接维护区间颜色数,用 cnt[] 记录下区间 ...