JS中的事件监听
来源:互联网 发布:java设计模式视频教程 编辑:程序博客网 时间:2024/05/29 03:07
1、简单事件(重复事件会被覆盖)
var box = document.getElementById( "box" );box.onclick = function () { alert( "你是谁" );};box.onclick = function () { alert( "你管我是谁,要覆盖你" );};输出://你管我是谁,要覆盖你
2、添加事件监听
非IE浏览器:(第三个参数为true时,事件捕获时触发)
var btn = document.getElementById( "btn" );btn.addEventListener( "click", fun);btn.addEventListener( "click", function(){ console.log("今天天气不错2");} );btn.addEventListener( "click", function () { console.log( "今天天气不错3" );});btn.removeEventListener( "click", fun );//事件移除,写函数名称,不写匿名函数输出://今天天气不错2输出://今天天气不错3
IE浏览器
var btn = document.getElementById( "btn" );btn.attachEvent( "onclick", function () { console.log( "今天天气不错1" );});btn.attachEvent( "onclick", fun );btn.attachEvent( "onclick", function () { console.log( "今天天气不错3" );});btn.detachEvent( "onclick", fun );//移除事件,参数必须与设置时完全一致输出://今天天气不错2输出://今天天气不错3
3、事件委托(给父元素设置事件)
box.onclick = function ( e ) { var e = e || event; //e是事件对象 //console.log(this);//this指向事件源,无法得出真正触发事件的元素 var tar = e.target || e.srcElement;//真正触发事件的元素 if ( tar.nodeName.toLowerCase() == "p" ) { console.log( "我是p标签" ); } else if ( tar.nodeName.toLowerCase() == "span" ) { console.log( "我是span标签" ); } else if ( tar.className == "topbar" ) { console.log( "我的类名为:topbar" ); }};
4、阻止事件冒泡
普通浏览器: e.stopPropagation();IE浏览器: window.event.cancelBubble = true;取消默认效果: e.preventDefault();
阅读全文
0 0
- JS中的事件监听
- JS中的事件监听操作
- js中的冒泡事件与事件监听
- JS 中的事件绑定、事件监听与事件委托
- JS 中的事件绑定、事件监听、事件委托是什么?
- JS 中的事件绑定、事件监听、事件委托
- js监听键盘事件
- js事件监听
- Js监听事件
- js监听事件实例
- js监听事件
- js事件监听
- js 事件监听
- js键盘监听事件
- js事件监听
- JS 事件监听方法
- js监听事件
- js事件监听机制
- 通过 raft 的 leader lease 来解决集群脑裂时的 stale read 问题
- [BZOJ2006][NOI2010]超级钢琴-ST表+堆
- JavaScript一个通用于代理和不代理的绑定事件函数
- 二元关系的矩阵和图表示
- 利用vs 2017 编写 C++程序常用调试工具快捷键
- JS中的事件监听
- 串口给STM32阿波罗开发板下载程序
- 线程池的原理及实现
- shell实现贪吃蛇
- [华为]16进制转换成10进制
- Gradle构建之Gradle构建基础
- HikariCP 数据库连接池
- String框架下使用c3p0的注意事项!
- werkzeug实现简单Python web框架(1):MVC模式