zoukankan      html  css  js  c++  java
  • 【前端】JS-删除绑定事件

    自己在练习输入密码框的时候突然想到之前用过的网站中基本都有这么一个功能:

    最开始密码输入框里有提示输入密码的文字,点击之后文字消失,可以输入密码(此时密码是不可见的,也就是type是password)。这个需求很快就实现了,可是我写的代码还有一点问题,就是当输入框失去焦点,重新点击输入框的时候,原先输入的密码也消失了。

    于是我开始分析问题,导致原先输入的密码消失的原因就是我的输入框绑定了一个点击事件,当我点击的时候,会把他的type设置为password,同时value设置为null。如果想解决问题,就需要让这个点击事件只在最开始的时候触发一次,也就是点击时候在做完我们想要的事情时候移除掉这个点击事件,现在提供移除点击事件的几种方法:

    一、直接移除点击事件

    Element.onclick = null;
    

    二、通过removeEventListener方法

    // 这里fn必须是原有绑定的函数,如果是匿名函数则不适用此方法
    Element.removeEventListener(type, fn, false);
    

    三、通过detachEvent方法

    Element.detachEvent(type, fn); // 这里 fn 必须是原有绑定的函数,否侧解除无效
    

    因为我写的demo里用的是匿名函数,所以采用了第一种方法。

  • 相关阅读:
    python第四篇:linux命令行总结 + 自动备份Python程序
    mount挂载相关指令
    TiDB配置HAProxy负载均衡
    NewSQL 介绍
    mysql 主从搭建
    MySQL 双主问题集
    MySQL 测试工具(基准测试、压力测试)
    分布式 NewSQL 对比
    (转载)MySQL数据库的几种常见高可用方案
    MySQL 大表备份、改表
  • 原文地址:https://www.cnblogs.com/mqjing/p/13629270.html
Copyright © 2011-2022 走看看