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 相关文章推荐
greybox——不开新窗口看新的网页
Feb 20 Javascript
javascript 学习之旅 (3)
Feb 05 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 Javascript
ztree获取当前选中节点子节点id集合的方法
Feb 12 Javascript
D3.js中data(), enter() 和 exit()的问题详解
Aug 17 Javascript
jQuery下拉友情链接美化效果代码分享
Aug 26 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
Sep 06 Javascript
jquery结合html实现中英文页面切换
Nov 29 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
Vue.js原理分析之observer模块详解
Feb 17 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
React-router4路由监听的实现
Aug 07 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
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
PHP输出XML格式数据的方法总结
2017/02/08 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
js 判断 enter 事件
2009/02/12 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
python使用配置文件过程详解
2019/12/28 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
python 写一个文件分发小程序
2020/12/05 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
营业经理岗位职责
2013/11/10 职场文书
企业行政文员岗位职责
2013/12/03 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
2015年人事科工作总结
2015/04/28 职场文书
Java十分钟精通进阶适配器模式
2022/04/06 Java/Android