zoukankan      html  css  js  c++  java
  • 事件on和onclick 两者之间的区别

    定义和用法

    on() 方法在被选元素及子元素上添加一个或多个事件处理程序。

    自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

    注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

    提示:如需移除事件处理程序,请使用 off() 方法。

    提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。

    on() 和 click() 的区别:

    二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中。

    以下实例中原先的 HTML 元素点击其身后的 Delete 按钮就会被删除。而动态添加的 HTML 元素,使用 click() 这种写法,点击 Delete 按钮无法删除;使用 On() 方式可以。

    点击事件on和onclick 两者之间的区别(很重要)
    第1种事件 
    $('.XX').click('.xxx',function() { alert('xxx') }); 
    第2种事件 
    $('.XXX').on('click','.xxx', function() { alert('xxx') })
    click是点击事件,但是在页面加载完之后,jquery事件新添加的元素,用click的话是无法获取元素的,这个时候要用on去获取元素事件,简单的说页面加载完成时候页面显示的元素可以用on,也可以用click,但是页面加载完成之后后期再追加的元素只能用on。

    这两个事件的区别之处在于: 
    简单的说页面加载完成时候页面显示的元素(DOM节点已全部加载完)可以用 on , 也可以用click ,

    但是在页面加载完成之后后期再追加元素(DOM节点元素还没完全显示出来)只能用on

    解释一下:

    $('.AAA').on('click','.bbb', function() { alert('bbb') }) 

    获取class 为bbb元素的上一级(或父级)元素,选择click的方式,执行回调函数function ()并运行弹出元素bbb,这里的on,元素bbb如果没全部加载出来。没有直接获取到class为bbb的元素,这个时候它就会去找上一级(或父级)的元素,然后在从上一级(或父级)往下接着再执行,就会找到class为bbb的元素了,就触发了点击事件,并执行事件里面的函数啦 ~

    $("p").on("click",function(){
    alert("段落被点击了。");
    });

  • 相关阅读:
    如何在iTerm2中配置oh my zsh?
    sublime中格式化jsx文件
    ES6 new syntax of Literal
    ES6 new syntax of Rest and Spread Operators
    How to preview html file in our browser at sublime text?
    ES6 new syntax of Default Function Parameters
    ES6 new syntax of Arrow Function
    七牛云2018春招笔试题
    Spring-使用注解开发(十二)
    Spring-声明式事物(十一)
  • 原文地址:https://www.cnblogs.com/konglxblog/p/10154000.html
Copyright © 2011-2022 走看看