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 firefox不显示本地预览图片问题的解决方法
Nov 12 Javascript
对于this和$(this)的个人理解
Sep 08 Javascript
Jquery节点遍历next与nextAll方法使用示例
Jul 22 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
Sep 14 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
Sep 28 Javascript
作为老司机使用 React 总结的 11 个经验教训
Apr 08 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
JavaScript中this的全面解析及常见实例
May 14 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 Vue.js
cypress测试本地web应用
Jun 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安全性问题中的:Null 字符问题
2013/06/21 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
JS文本框默认值处理详解
2013/07/10 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
python解析含有重复key的json方法
2019/01/22 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
Python面试题集
2012/03/08 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
大学生实习鉴定评语
2014/04/25 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
违纪开除通知书
2015/04/25 职场文书
Java 多线程协作作业之信号同步
2022/05/11 Java/Android