[JS][技巧]利用事件冒泡特性处理多个按钮的单击事件
2015-10-29 12:51
671 查看
以前一直不在意这个事件冒泡,只是有时候会用到
拿个最直观的例子来举例
界面
HTML
以前我是给每一个按钮绑定一个事件,这里不做例子了,直接写如何利用事件冒泡这一特性进行绑定。
直接给这些按钮所在的
stopPropagation()去阻止事件冒泡,最近发现,利用好了事件冒泡这一特性,有些地方会非常方便。
拿个最直观的例子来举例
ToolBar
界面
HTML
<div id="toolbar" class="btn-toolbar" role="toolbar" aria-label="..."> <div class="btn-group" role="group" aria-label="..."> <button type="button" class="btn btn-default">Left</button> <button type="button" class="btn btn-default">Middle</button> <button type="button" class="btn btn-default">Right</button> </div> <div class="btn-group" role="group" aria-label="..."> <button type="button" class="btn btn-default">Close</button> </div> </div>
以前我是给每一个按钮绑定一个事件,这里不做例子了,直接写如何利用事件冒泡这一特性进行绑定。
var toolbar = { Left: function () { alert('Left'); }, Middle: function () { alert('Middle'); }, Right: function () { alert('Right'); }, Close: function () { alert('Close'); } } document.getElementById('toolbar').onclick = function (e) { var fun = toolbar[e.target.textContent]; if (fun) { fun(); } };
直接给这些按钮所在的
#toolbar绑定click事件,然后通过
e.target可以得到对按钮的引用,最后再根据textContent对按钮文本进行判断即可。
相关文章推荐
- js中子窗口向父窗口传值
- jsp获取客户端IP地址的方法
- JSP针对表单重复提交的处理方法
- javascript学习心得
- Javascript code standard.
- 使用eval()解析json
- js正则表达式验证字符
- Javascript模块化编程(AMD规范)
- 图解javascript this指向什么?
- javascript:history.go()和History.back()的区别
- JS中AJAX知识
- javaScript类型转换
- Eclipse 复制 js 代码卡顿
- chrome控制台支持多行js模式
- 纯JS+MVC 打造Web实时聊天室
- Javascript之闭包理解
- JS金额小写转大写
- js 小数相加
- JS模拟酷狗音乐播放器收缩折叠关闭效果代码
- asp.net调用前台js调用后台代码分享