JQuery $().click()与$().on(click...)区别

news/2024/12/22 10:52:09/

jQuery的出现,大大简化了对dom的操作,但是如果不是仔细阅读api和进行操作,就不知道其中最大的优点和使用方式。就拿 ( ) . c l i c k ( ) 和 ().click()和 ().click()(document).on(‘click’,‘要选择的元素’,function(){})来说,都是点击事件的操作,但是也有不同的地方。

  1. $(选择器).click(fn)
     当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选择器
<body><ul><li>1</li><li>2</li><li>3</li><li>4</li></ul><script src="jquery.min.js"></script><script>$(function(){$('ul>li').click(function(){console.log($(this).html());});$('ul').append('<li>5</li><li>6</li>');})</script>
</body>

结果如下: 后面动态创建的5和6,没法进行点击事件触发

2.$(document).on('click','要选择的元素',function(){})on方法包含很多事件,点击,双击等等事件。和$().click()的用法一样,最大的区别即优点是如果动态创建的元素在该选择器选中范围内是能触发回调函数。
<body><ul><li>1</li><li>2</li><li>3</li><li>4</li></ul><script src="jquery.min.js"></script><script>$(function(){$('body').on('click','ul>li',function(){console.log($(this).html());});$('ul').append('<li>5</li><li>6</li>');})</script>
</body>

结果如下: 动态添加的元素也能被点击触发函数。

( ) . o n ( ) 的 知 识 点 补 充 : 1. 从 j Q u e r y 1.7 开 始 , o n ( ) 函 数 提 供 了 绑 定 事 件 处 理 程 序 所 需 的 所 有 功 能 , 用 于 统 一 取 代 以 前 的 b i n d ( ) 、 d e l e g a t e ( ) 、 l i v e ( ) 等 事 件 函 数 。 ().on()的知识点补充:   1.从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind()、 delegate()、 live()等事件函数。      ().on()  1.jQuery1.7on()bind()delegate()live()    ().bind()直接绑定在元素上,和click,blur,mouseon一样的点击事件。
     ( ) . l i v e ( ) 是 通 过 冒 泡 的 方 式 来 绑 定 到 元 素 上 的 。 更 适 合 列 表 类 型 的 , 绑 定 到 d o c u m e n t D O M 节 点 上 。 ().live()是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。      ().live()documentDOM    ().delegate()是更精确的小范围的使用事件代理。
   $().on()结合了这三个方法的优势摒弃了劣势。

2.该函数可以为同一元素、同一事件类型绑定多个事件处理函数。触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。
  3. 阻止事件冒泡和事件委托的方法:
    A:return false。
      在事件的处理中,可以阻止默认事件和冒泡事件。

B:event.preventDefault()
      在事件的处理中,可以阻止默认事件但是允许冒泡事件的发生。

C:event.stopPropagation().。
      在事件的处理中,可以阻止冒泡但是允许默认事件的发生。
转载自: 热爱前端的17号诶
https://www.cnblogs.com/sqh17/p/7746418.html


http://www.ppmy.cn/news/943943.html

相关文章

click()和onclick()的区别

click()和onclick()的区别&#xff1a; 1.onclick是绑定事件&#xff0c;告诉浏览器在鼠标点击时候要做什么 click本身是方法作用是触发onclick事件&#xff0c;只要执行了元素的click()方法&#xff0c;就会触发onclick事件。 2.click()方法的主要作用是触发调用click方法元素…

$().click()和$().on(‘click‘,function(){})的区别

在处理js追加元素点击事件时 遇到点问题 当你用$().click() 触发的时候 你追击的元素会无法触发 也就是 不在页面内的元素 on方法包含很多事件&#xff0c;点击&#xff0c;双击等等事件。和$().click()的用法一样&#xff0c;最大的区别即优点是如果动态创建的元素在该选择器…

Vue中@click.stop与@click.prevent

Vue中click.stop与click.prevent 一、click.stop 问题&#xff1a;父元素中添加了一个click事件&#xff0c;其下面的子元素中也添加了click事件&#xff0c;此时&#xff0c;我想点击子元素获取子元素的点击事件&#xff0c;但却触发的是父元素的事件&#xff1a; <view…

.click()与on('click',function())

之前遇到过一次.click()无效,改成on绑定click就好了的情况,看了几篇博客后,发现是自己对click()和on的理解不够,没太在意,最近又遇到了,所以写下这篇博客加深印象。 $(选择器).click(fn):当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选择器。而.J_del这…

onclick和click的区别及示例

1.$("").click与onclick的区别示例介绍 onclick是绑定事件&#xff0c;click本身是方法作用是触发onclick事件&#xff0c;只要执行了元素的click()方法&#xff0c;下面有个示例&#xff0c;大家可以看看 Html代码 <script type"text/javascript">…

JavaScript中 onclick()、click()触发点击事件的区别

function load(){ //下面两种方法效果是一样的document.getElementById("target").onclick();document.getElementById("target").click(); }btnObj.click()是真正地用程序去点击按钮&#xff0c;触发了按钮的onclick()事件,按钮不隐藏的时候是可以调用…

js中click 和onclick之间的区别

1&#xff0c;onclick是绑定事件&#xff0c;告诉浏览器在鼠标点击时候要做什么 2&#xff0c;click本身是方法&#xff0c;作用是触发onclick事件&#xff0c;只要执行了元素的click()方法&#xff0c;就会触发onclick事件。 3&#xff0c;此外&#xff0c;正常情况是先方法…

Click(点击)

Click <button id"btn" onclick"threeFn()">点我</button>点击事情方式 // 第一种 通过点击事件btn.onclick function () {alert(这是第一种点击方式);};监听点击事件 // 第二种 监听点击事件btn.addEventListener(click, function () {al…