基于jquery的on和click的区别详解


Posted in jQuery onJanuary 15, 2018

使用jQuery写js时,有些用on写行为函数,有些用click,弄清二者区别很重要。

以下是用于测试二者区别的HTML代码。

<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
 <div>
  <h1>展示jQuery中on()和click()的区别</h1>
 </div>
 <div>
  <span>点击生成新按钮。NewOn生成的Delete按钮行为用on()实现,NewClick生成的Delete按钮行为用click()实现。</span>
 </div>
 <div class="test">
  <button class="new" id="newon">NewOn</button> 
  <button class="new" id="newclick">NewClick</button>
  <ul class="li"> 
   <li>原先的HTML元素on<button class="deleteon">Delete</button></li> 
   <li>原先的HTML元素click<button class="deleteclick">Delete</button></li> 
  </ul> 
 </div>
</body>
<script src="/static/js/jquery-3.1.1.min.js"></script>
<script src="/static/js/test.js"></script>
</html>

js文件如下:

$("#newclick").click(function(){ 
 $(".li").append('<li>动态添加的HTML元素click<button class="deleteclick">Delete</button></li>'); 
});
$("#newon").click(function(){ 
 $(".li").append('<li>动态添加的HTML元素on<button class="deleteon">Delete</button></li>'); 
});
$(".delete").click(function(){ 
 $(this).parent().remove(); 
}); 

$(".li").on('click', ".deleteon", function(){
 $(this).parent().remove(); 
})
$(".deleteclick").click(function(){ 
 $(this).parent().remove(); 
});

页面加载后,点击NewOn和NewClick按钮,页面如下图所示。

基于jquery的on和click的区别详解

现象:

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

原因:

element.click()这种写法不支持给动态元素或样式绑定事件。支持给动态元素绑定事件的是.live()和.on()。live在jQquery1.7后就不推荐使用了。使用.on()时注意,on前面的元素必须在页面加载的时候就存在DOM里面。

以上这篇基于jquery的on和click的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery Plupload上传插件的使用
Apr 19 jQuery
js和jquery中获取非行间样式
May 05 jQuery
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
jQuery实现菜单栏导航效果
Aug 15 jQuery
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
Aug 18 jQuery
jQuery Dom元素操作技巧
Feb 04 jQuery
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
高效jQuery选择器的5个技巧实例分析
Nov 26 jQuery
jquery实现手风琴案例
May 04 jQuery
jQuery实现B2B网站后台管理系统侧导航
Jul 08 jQuery
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
vue-cli webpack 引入jquery的方法
Jan 10 #jQuery
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 #jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 #jQuery
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 #jQuery
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 #jQuery
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 #jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 #jQuery
You might like
php高级编程-函数-郑阿奇
2011/07/04 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
javascript读取RSS数据
2007/01/20 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
基于Python log 的正确打开方式
2018/04/28 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
python打印异常信息的两种实现方式
2019/12/24 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
Python实现画图软件功能方法详解
2020/07/28 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
不拖欠农民工工资承诺书
2014/03/31 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
2014年大堂经理工作总结
2014/11/21 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
婚礼家长致辞
2015/07/27 职场文书
防震减灾主题班会
2015/08/14 职场文书