2.2事件绑定中的on

在写js代码的过程中,经常碰到onclick,onmouseover,onmouseout等,其实这些事件的名称是click,mouseover,mouseout,而on是添加这些事件的一个方法

语法

对象.on事件名称=function(){};

特性

  • 事件处理函数是在事件的冒泡阶段发生的
  • 既可以调用命名函数,也可以调用匿名函数
btn.onclick=function(){
    console.log('1');       //1
};
btn.onclick=fn1;
function fn1(){
    console.log('1');       //1
};
  • 只能给元素添加一个事件,如果有多个on,那么后面的会覆盖前面的
btn.onclick=function(){
    console.log(1);
};
btn.onclick=function()|{
    console.log(2);
}
//这段代码最后只会在控制台输出2
  • this指向当前元素
<body>
    <input type="button">
</body>
var btn = querySelect('button');
btn.onclick=function(){
    console.log(this);      //<input type="button">
};

移除方法

对象.on事件名称=null;

  • 直接移除
btn.onclick=function(){
    console.log(1);    //事件绑定被移除,无论怎么点击按钮都无法在控制台输出内容
};
btn.onclick=null;
  • 执行一次后移除
btn.onclick=function(){
    console.log(1);    //事件执行一次后被移除,只会输出一次1
    this.onclick=null;
};

阻止事件冒泡

采用事件对象.cancelBubble=true;方法

btn.onclick=function(ev){
    ev.cancelBubble=true;
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,422评论 2 17
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,628评论 1 10
  • addEventListener()是标准的绑定事件监听函数的方法,是W3C所支持的,Chrome、FireFox...
    素弥阅读 9,319评论 0 5
  • DOM DOM内容主要分为四部分: 什么是DOM和节点; 获取节点; 节点操作(3种); 属性操作(3种)。 什么...
    magic_pill阅读 4,294评论 0 1
  • 什么是事件: 我们可以简单的把事件理解为浏览器的感知系统。比如说:他可以感觉到用户是否点击(click)了页面、鼠...
    张松1366阅读 11,806评论 1 6

友情链接更多精彩内容