基于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 相关文章推荐
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
360提示[高危]使用存在漏洞的JQuery版本的解决方法
Oct 27 jQuery
jQuery读取本地的json文件(实例讲解)
Oct 31 jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
jQuery Dom元素操作技巧
Feb 04 jQuery
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
jquery 验证用户名是否重复代码实例
May 14 jQuery
深入分析jQuery.one() 函数
Jun 03 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
jQuery+ajax实现用户登录验证
Sep 13 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
Python内置函数property()如何使用
2020/09/01 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
函授药学自我鉴定
2014/02/07 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
品牌宣传方案
2014/03/21 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏