zoukankan      html  css  js  c++  java
  • js click 与 onclick 事件绑定,触发与解绑

    click 与 onclick

    1.onclick 事件会在对象被点击时发生。

    <input id="btn1" type="button" onclick="test();" />
    function test() {
        alert("我是行间事件");
    }

    当点击id="btn1"时,触发onclick事件

    2.onclick事件会在click事件之前执行

    <input id="btn2" type="button" onclick="test();" />
    var btn2 = document.getElementById('btn2');
    btn2.addEventListener('click', showMsg, false); //鼠标单击的时候调用showMes这个函数  
    function showMsg() {
        alert("事件监听");
    }

    当点击id="btn2"时,先执行onclick事件的方法test(),再执行click事件的showMsg()方法;

    js 绑定点击事件的方法

    方法一:把onclick绑定在标签上

    HTML元素行间事件(也可以叫HTMl事件处理程序),直接在html标签里添加事件。

    缺点:html和js代码紧密耦合

    <input id="btn1" type="button" onclick="test();" />

    方法二:onclick的js绑定办法

    //把一个函数赋值给一个事件处理程序属性。(这种方式也叫做Dom0级事件处理程序)
    var btn1 = document.getElementById('btn1');
    function abc() {
        alert('abc');
    }
    btn1.onclick = abc; //当点击的时候执行abc这个函数,等价于 btn1.onclick=function abc(){alert('abc');}
    //btn1.onclick = null; //去掉绑定的事件

     方法三:click的js绑定办法(js的话推荐这种)

    //通过“事件监听”的方式来绑定事件(也叫Dom2级事件处理程序)
    var btn2 = document.getElementById('btn2');
    btn2.addEventListener('click', showMsg, false); //鼠标单击的时候调用showMes这个函数  
    function showMsg() {
        alert("事件监听");
    }
    //btn2.removeEventListener('click', showMsg, false); //去除绑定

    js 触发点击事件

    除了手动点击外,js也可以触发点击事件

    1. .onclick()

    document.getElementById("btn2").onclick();

    这种只会触发onclick事件

    2. .click()

    document.getElementById("btn2").click();

    这种会先出发onclick事件,再触发click事件

    js  解绑点击事件的方法

    解绑onclick

    btn1.onclick = null//去掉绑定的事件

    解绑click

    btn2.removeEventListener('click', showMsg, false); //去除绑定

    参考文章:http://blog.csdn.net/u014205965/article/details/45651875

  • 相关阅读:
    PHP的文件下载
    ajax异步请求分页显示
    Linux的启动过程
    搭建nginx反向代理用做内网域名转发
    intellij idea 修改背景保护色&&修改字体&&快捷键大全
    IDEA入门级使用教程-
    http://blog.csdn.net/baidu_31657889/article/details/52315902
    JVM——Java虚拟机架构
    MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题
    windows上 nginx 配置代理服务,配置多域名,以及最简单实现跨域配置
  • 原文地址:https://www.cnblogs.com/ooo0/p/7742214.html
Copyright © 2011-2022 走看看