JavaScript加强之自定义event事件


Posted in Javascript onSeptember 21, 2013
$().ready(function(){ 
for(var i=0;i<5;i++){ 
/** 
* 这种写法不专业,如果处于循环里,就会注册5次事件,点击后alert5次 
*/ 
// $("#aa").click(function(){ 
// alert("hahahaha"); 
// }); 
/** 
* 这种写法才是专业的,在注册一次点击事件前,先解绑点击事件,然后再绑定一个点击事件,所以到最后只绑定了一次点击事件 
*/ 
$("#aa").unbind("click"); 
$("#aa").bind("click",function(){ 
alert("oooooo"); 
}); 
} 
});

自定义事件:
$().ready(function(){ 
/** 
* 自定义事件,在click的时候进行触发 
*/ 
$("#aa").bind("click",function(){ 
//事件触发器,触发自定义的event 
$(this).trigger("点我"); 
}); 
//自定义一个"点我"事件 
$("#aa").unbind("点我"); 
$("#aa").bind("点我",function(){ 
alert("点我"); 
}); 
});

传递参数的自定义事件:
$().ready(function(){ 
/** 
* 自定义事件,在click的时候进行触发 
*/ 
$("#aa").bind("click",function(){ 
//事件触发器,触发自定义的event,传递实参 
$(this).trigger("点我",['张三','李四']); 
}); 
//自定义一个"点我"事件 
$("#aa").unbind("点我"); 
//第一个参数是固定的,后面都是自定义,就算把event写成别的名字,它还是固定类型,鼠标事件 
$("#aa").bind("点我",function(event,a,b){ 
alert("点我"); 
alert(a); 
alert(b); 
}); 
});

练习:

写一个自定义事件,把该事件绑定在一个下拉列表框中

当下拉列表框选中一项的时候,触发该事件,以参数的形式把选中的值传递到自定义事件中,并输出。

html:

<select id="select"> 
<option value="111">111</option> 
<option value="222">222</option> 
<option value="333">333</option> 
</select>

js:
$().ready(function(){ 
$("option").unbind("click"); 
$("option").bind("click",function(){ 
$(this).trigger("选择并显示",[$(this).val()]); 
}); $("option").unbind("选择并显示"); 
$("option").bind("选择并显示",function(event,value){ 
alert(value); 
}); 
});
Javascript 相关文章推荐
javascript json2 使用方法
Mar 16 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
Sep 02 Javascript
ajax异步刷新实现更新数据库
Dec 03 Javascript
js post提交调用方法
Feb 12 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
Jun 09 Javascript
js防刷新的倒计时代码 js倒计时代码
Sep 06 Javascript
vue 通过下拉框组件学习vue中的父子通讯
Dec 19 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
angular 实现同步验证器跨字段验证的方法
Apr 11 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
May 12 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 Javascript
JavaScript加强之自定义callback示例
Sep 21 #Javascript
js中通过split函数分割字符串成数组小例子
Sep 21 #Javascript
js中的异常处理try...catch使用介绍
Sep 21 #Javascript
使用JS读秒使用示例
Sep 21 #Javascript
用RadioButten或CheckBox实现div的显示与隐藏
Sep 21 #Javascript
JS.GetAllChild(element,deep,condition)使用介绍
Sep 21 #Javascript
JS.findElementById()使用介绍
Sep 21 #Javascript
You might like
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
php制作文本式留言板
2015/03/18 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
JS delegate与live浅析
2013/12/21 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
JS实现小米轮播图
2020/09/21 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python编程中的异常处理教程
2015/08/21 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
详解python如何引用包package
2020/06/07 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
党风廉正建设个人工作总结
2015/03/06 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android