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类库的顶层对象名用户体验分析
Oct 24 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
Jan 15 Javascript
浅谈关于JavaScript的语言特性分析
Apr 11 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
Javascript Objects详解
Sep 04 Javascript
简易的投票系统以及js刷票思路和方法
Apr 07 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
基于 webpack2 实现的多入口项目脚手架详解
Jun 26 Javascript
Vue-Cli中自定义过滤器的实现代码
Aug 12 Javascript
JS设计模式之命令模式概念与用法分析
Feb 06 Javascript
js实现前面自动补全位数的方法
Oct 10 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 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
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
JS高级运动实例分析
2016/12/20 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
python调用机器喇叭发出蜂鸣声(Beep)的方法
2015/03/23 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
python与C互相调用的方法详解
2017/07/14 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
Python语言的变量认识及操作方法
2018/02/11 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
Python File(文件) 方法整理
2019/02/18 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
汽车销售求职自荐信
2013/10/01 职场文书
单身联谊活动方案
2014/01/29 职场文书
寄语是什么意思
2014/04/10 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
大学生创业事迹材料
2014/12/30 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python