jQuery 学习笔记(5)(事件绑定与解绑、事件冒泡与事件默认行为、事件的自动触发、自定义事件、事件命名空间、事件委托、移入移出事件)
1、事件绑定:
.eventName(fn) //编码效率略高,但部分事件jQuery没有实现
.on(eventName, fn) //编码效率略低,所有事件均可以添加
注意点:可以同时添加多个相同或不同类型的事件
2、事件解除
.off()
不传参数: $('button').off() //解绑该对象的所有事件
一个参数:$("button").off("click") //解绑该对象的“click”类型事件
两个参数:$("button").off("click", fnName); 解绑该对象“click”类型的“fnName”事件
3、事件冒泡
阻止事件冒泡:(两种方法)
$(".son").click(function(event) {
alert("停止冒泡");
return false; //或者
event.stopPrapagation();
})
4、事件默认行为(类似于"a"标签点击就会发生刷新或者跳转)
取消事件默认行为:
$("input:submit").click(function(event) {
return false; //或者
event.preventDefault;
})
5、事件的自动触发
.trigger()、triggerHandler()
$(".btn").trigger("click"); //自动触发click事件(触发事件冒泡和事件冒泡行为)
$(".btn").triggerHandler("click"); (不触发事件冒泡机制和事件默认行为)
注意:.trigger()方法模拟标签“a”,不会触发事件默认行为
解决办法:
<a><span>点击<span><a>
$("span").trigger("click");
6、自定义事件 (只能通过.on(eventName, fn))的形式绑定事件
$("btn").on("myClick", function() { ... }) //自定义事件
$("btn").click(function() { $("btn").trigger("myClick") }) 触发click事件时自动触发myClick事件
7、事件命名空间
$("btn").on("click.xml", function() { ... }) //自定义事件
$("btn").on("click.hgh", function() { ... })
$("btn").clcik(function() {
$("btn").trigger("click.xml")
})
8、事件委托 (用于在入口函数有之前的元素来监听动态添加的元素的某些事件)
.delegate()
$("ul").delegate("li", "click", function() { //将“li”的“click”事件委托给“ul”来监听
console.log($(this).html()) //“this”指向点击的“li”元素
})
9、移入移出事件
.mouseout()、.mouseover()事件,在子元素被移入移出时,也会触发父元素的移入移出事件
.mouseenter()、mouseleave()事件,在子元素被移入移出时,不会触发父元素的移入移出事件
建议使用:
.hover()
$("div").hover(function() {
//移入时触发
}, function() {
//移出时触发
})
$("div").hover(function() { // 移入移出均触发事件 })
jQuery 学习笔记(5)(事件绑定与解绑、事件冒泡与事件默认行为、事件的自动触发、自定义事件、事件命名空间、事件委托、移入移出事件)的更多相关文章
- jQuery事件绑定、解绑、命名空间
jQuery事件绑定.解绑.命名空间 <%@ page language="java" import="java.util.*" pageEncoding ...
- React事件绑定与解绑
React中事件分类 React中事件绑定分为两种: 1.直接添加在React元素上的事件,这是React在基于Virtual DOM的基础上实现的符合w3c规范的合成事件(SyntheticEven ...
- 兼容8事件绑定与解绑addEventListener、removeEventListener和ie的attachEvent、detachEvent
兼容8事件绑定与解绑addEventListener.removeEventListener和ie的attachEvent.detachEvent ;(function(){ // 事件绑定 bi ...
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
- jQuery事件绑定,解绑,触发
事件绑定 1.bind(type,[data],fn) --type: 含有一个或多个事件类型的字符串,由空格分隔多个事件.比如"click"或"submit" ...
- jquery中的DOM事件绑定与解绑
在jquery事件中有时候有的事件只需要在绑定后有效触发一次,当通过e.target判断触发条件有效触发后解除绑定事件,来避免多次无效触发和与未知情况造成冲突. 这时候就要用到了jquery中的事件绑 ...
- jQuery之_事件绑定与解绑
使用jQuery实现事件的绑定和解绑 就是所谓的事件操作. 1. 事件绑定(2种): * eventName(function(){}) 绑定对应事件名的监听, 例如:$('#div').click( ...
- jQuery-3.事件篇---事件绑定与解绑
on()的多事件绑定 之前学的鼠标事件,表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理.翻开源码其实可以看到,所有的快捷事件在底层的处理都是通过一个&quo ...
- jQuery学习笔记(三)
jQuery中的事件 页面加载 原生DOM中的事件具有页面加载的内容onload事件,在jQuery中同样提供了对应的内容ready()函数. ready与onload之间的区别: onload re ...
随机推荐
- MySql 建表、添加字段、修改字段、添加索引SQL语句写法及SQL索引
---------添加索引方法--------- .添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `c ...
- 11个超震撼的HTML5和纯CSS3动画源码
1.jQuery多功能手风琴个人信息菜单面板 这是一款基于jQuery的手风琴个人信息菜单面板,每一个菜单项展开后可以自定义布局,因此可以为每一个菜单项实现多功能.类似这样的多功能菜单还有jQuery ...
- 8款基于Jquery的WEB前端动画特效
1.超炫酷的30个jQuery按钮悬停动画 按钮插件是最常见的jQuery插件之一,因为它用途广泛,而且配置起来最为方便.今天我们要分享的是30个超炫酷的jQuery悬停按钮动画,当我们将鼠标滑过按钮 ...
- delphi怎样把子窗体显示在pagecontrol的tabsheet
https://bbs.csdn.net/topics/391980918 unit Unit1; interface uses Winapi.Windows, Winapi.Messages, Sy ...
- 解决stackoverflow打开慢的问题
Stack Overflow是国外一个与程序相关的IT技术问答网站.类似于国内的segmentfault.程序员们对于这2个网站应该都不陌生.但是我们打开stackoverflow的时候,会发现打开速 ...
- Java反射+简单工厂模式总结
除了 new 之外的创建对象的方法 通过 new 创建对象,会使得程序面向实现编程,先举个例子,某个果园里现在有两种水果,一种是苹果,一种是香蕉,有客户想采摘园子里的水果,要求用get()方法表示即可 ...
- SAP FICO 凭证导入接口 数据xml格式
接口传入参数说明 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xm ...
- 解决vscode无法安装golang相关插件的问题 - 即无法直连golang.org的问题
喜欢挂vpn或者代理的请无视本文. 其实golang.org上的插件在github.com上都有镜像,直接 git clone https://github.com/golang/tools git ...
- 集合(从本部分开始涉及API)
集合(从本部分开始涉及API) 集合是指一个对象容纳了多个对象,这个集合对象主要用来管理维护一系列相似的对象. 数组就是一种对象.(练习:如何编写一个数组程序,并进行遍历.) java.util.*定 ...
- python让实例作用于for循环并当做list来使用
python如果想让一个类被用于for....in 循环,类型list和tuple那样,可以实现__iter__方法. 这个方法返回一个迭代对象,python的for循环就会不断调用该迭代对象的ne ...