JQuery DOM clone(true),对于克隆对象事件触发后,处理函数中this指代克隆对象
2023-09-27 14:28:37 时间
<!doctype html> <html ng-app> <head> <script src="./jquery.js"></script> </head> <body> <div id="template">hello</div> <script type="text/javascript"> $("#template").click(function(){alert("hello id="+$(this).attr("id"))}) var templateClone = $("#template").clone(true); templateClone.attr("id", templateClone.attr("id")+"_"+1); templateClone.appendTo("body"); </script> </body> </html>
如上实验, 第二行文字点击, 显示第二个id。
具体原因是, 事件被克隆, 但是事件处理函数没有被执行, 事件处理函数在clone对象的事件处理后才执行, 其中this为,触发此函数执行的对象。
见zhangxinxu解释:
http://www.zhangxinxu.com/wordpress/2012/04/js-dom%e8%87%aa%e5%ae%9a%e4%b9%89%e4%ba%8b%e4%bb%b6/
ar $ = function(el) { return new _$(el); }; var _$ = function(el) { this.el = el; }; _$.prototype = { constructor: this, addEvent: function() { // ... }, fireEvent: function() { // ... }, removeEvent: function() { // ... } }
相关文章
- html,css,js,jquery
- jQuery file upload cropper的 click .preview事件没有绑定成功
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- jQuery事件绑定.on()简要概述及应用
- jquery动态绑定事件
- jquery 事件注冊 与反复事件处理
- jQuery on()方法(函数)有哪些事件
- Js、Jquery获得字符串变量的长度函数实例!
- 猴子也能学会的jQuery第六期——jQuery事件(中)
- 前端基础 -JQuery之 相关事件
- jQuery技术内幕:深入解析jQuery架构设计与实现原理. 1.2 总体架构
- jQuery技术内幕:深入解析jQuery架构设计与实现原理. 2.8 静态属性和方法
- jquery on事件jquery on实现绑定多个事件
- DOM对象与jquery对象有什么不同
- jQuery Mobile滚动事件
- jQuery HTML
- 《扩展 jQuery》——2.2 一个简单的插件
- 基于HTML + jQuery + Bootstrap 4实现(Web)地铁票价信息生成系统【100010141】
- jquery load加载页面内ajax返回的div不能响应页面js的问题的解决方案
- JQuery中动态生成元素的绑定事件(坑死宝宝了)
- jquery的事件绑定
- jquery/js 点击空白区域隐藏某一个层/元素
- JQuery的Ajax跨域请求的解决方案
- jQuery UI Layout Plug-in
- 一场由股票提醒助手插件引发的血案——浅入浅出 jquery autocomplete
- Jquery学习—jquery的事件
- 低级问题: jquery-ajax-alert(data) <!DOCTYPE html PUBLIC "-
- liMarquee – jQuery无缝滚动插件(制作跑马灯效果)
- 模仿jquery的fadeIn、fadeOut、fadeToogle、fadeTo函数,淡入淡出效果挺不错!
- js和jquery判断事件流
- 再谈Jquery Ajax方法传递到action
- JQuery事件绑定bind、live、on、trigger
- Jquery实现checkbox按shift多选
- jquery的click无法触发事件
- jquery click()方法模拟点击事件对a标签不生效
- JQuery/JS插件 jsTree checkbox选中事件 和 节点选中事件 分离版