• 元素绑定事件几种方式


    一、元素绑定事件几种方式(Js方式)

    1:HTML中添加onclick

    <button id="vv" onclick="myfunction()" >哈哈</button>

    2:JS中定义函数绑定事件!(写法一)

    var funcc = function () {
      alert('我爱编程')
      }
    var aa = document.getElementById('vv')
    aa.onclick = funcc

    3:直接定义函数与内容(写法二)

    document.getElementById('vv').onclick = function () {
      alert('hasssshhaa ')
      }

    4:利用addEventListener

    document.getElementById('vv').addEventListener('click',funcc);
    //或者:
    document.getElementById('vv').addEventListener('click',function () {
      alert('hahah')
    })
    <div id="btn" onclick="clickone()" onclick="clicktwo()"></div> 
    <script>
       function clickone(){ alert("hello"); } //执行这个
       function clicktwo(){ alert("world!"); }
    </script>
    <div id="btn"></div>
    <script>
     document.getElementById("btn").onclick = function(){ alert("hello"); }
     document.getElementById("btn").onclick = function(){ alert("world"); } //执行这个
    </script>
    <div id="btn"></div>
    <script>
      document.getElementById("btn").addeventlistener("click",clickone,false);
      function clickone(){ alert("hello"); } //先执行
      document.getElementById("btn").addeventlistener("click",clicktwo,false);
      function clicktwo(){ alert("world"); } //后执行
    </script>

    二、元素绑定事件几种方式(Jq方式)

    1. 简单事件绑定:

    这种绑定事件方式不会重叠(使用场景,场景:涉及dom操作-用户触发,这种情况一般dom都会加载完毕,没有影响,但是图片的长时间加载情况下,用户点击则出问题,Dom的操作用户触发。

    $(document).click(function () {
        alert(1);
    })

    //可以写这种形式(使用场景,通用方法,场景:涉及dom操作-自动触发则使用,必须dom加载完毕-建议采纳推荐此方法-没有什么方法是写在$(fu(){}))解决不了的。

    $(function(){
       $(document).click(function () {
            alert(1);
        })
    });

    但是有弊端,是我的表格数据分页有图片,第一页的可以,当我异步刷新表格后,无效。

    2.bind方式(不推荐,1.7以后的jQuery版本被on取代)

     $(document).bind("click mouseenter",function () {
        alert(1);
     })

    比简单事件绑定方式的优势:
    可以同时绑定多个事件,比如:bind(“mouseenter mouseleave”, function(){})
    缺点:要绑定事件的元素必须存在文档中。

    3. delegate方式(特点:性能高,支持动态创建的元素)

    与前两种方式最大的优势:减少事件绑定次数提高效率,支持动态创建出来的元素绑定事件!

    $(document).delegate(".box","click",function () {
          alert(1);
    })

    4. on方式(最现代的方式,兼容zepto(移动端类似jQuery的一个库),强烈建议使用的方式)(重点)

    $(document).on("click mouseenter",".box",{"name":111},function () {
        alert(event.data.name);
    });
    $(".box").on("click",{},function (e) {
        e.data
    })
  • 相关阅读:
    使用golang访问kubebernetes
    使用 Rancher 管理现有 Kubernetes 集群
    Running powershell scripts during nuget package installation and removal
    How to Create, Use, and Debug .NET application Crash Dumps in 2019
    寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
    Selenium+Java之解决org.openqa.selenium.InvalidArgumentException: invalid argument报错问题
    Selenium环境搭建
    关于Xpath定位方法知道这些基本够用
    Web自动化之浏览器启动
    【翻译】编写代码注释的最佳实践
  • 原文地址:https://www.cnblogs.com/fger/p/11647542.html
Copyright © 2020-2023  润新知