jQuery 查找on事件绑定元素的被绑定元素方法 遇到的问题 今天写了一个JQ插件,结果里面有一点问题.让我很郁闷.问题演示代码如下 $box.on('click', 'img', function(...){ $(this) }); 如上代码,当我点击这个图片的时候 $(this) 是指 img ....当然这是正确的. 而我需要找到 $box 也就是 img 的父级. 如果不是插件的话,我当然可以根据它的ID或者CLASS来进行查询.问题是,我是写的插件,也就是说,我并不知道它的这些信息是什么....解决方法 很多基础的东西不理解,就会出现我这样的问题.如同事所说,你是还不会爬呢,都学上跑了.因此,踩坑无数啊....解决方法如下: $box.on('click', 'img', function(){ $box.has($(this)) }); 如上,通过 .has 操作,就能找到唯一的父级被绑定元素了.
原生 js 直接作为方法调用即可触发。...div.login-content > div.content-right > div > div > div.login-panel-input.login-submit-panel > button"); // 调用按钮事件进行点击...login_btn.click(); 可以看到效果图: jquery 通过 trigger() 方法触发点击事件。...div.content-right > div > div > div.login-panel-input.login-submit-panel > button").trigger("click") 使用前提是该 dom 元素必须绑定的事件才能出发...,他的祖先元素绑定的事件他触发不了,所以这里要把 Ancestors All 取消勾选一下。
一个简单的记录,在调试jquery的事件绑定时会用到。查看某元素是否绑定上了事件。
Array(1)} mousedown: [{…}] mouseout: [{…}] __proto__: Object getEventListeners() 方法可以获取到 dom 元素的监听...可以看到当前 dom 节点的监听就是 mousedown 和 mouseout。 取消勾选 Ancestors All 可以排除当前元素所有祖先元素的监听。...反过来如果想通过代码获取某个元素所有祖先元素的监听可以遍历它的所有上级节点再依次获取所有 dom 节点的监听。
js通过事件代理的方式绑定跳转事件,我这里的逻辑是把click事件绑定在最外层container上面,如果e.target包含我已经写好的class,则执行跳转逻辑。...但是这种方式好像只能是在点击的元素的上面,也就是最内层的元素上面有相应的class才能跳转,在外层加同样的class不生效,说明是我对于事件代理的理解不够深刻,其实事件代理的作用就是为了把目标元素的事件绑定在外层做代理...jumpUrl的 class时执行点击事件,又想要外层元素含有class时执行点击事件,修改优化如下: document.querySelector('#container').addEventListener...('click', function (e) { console.log(e.currentTarget) //获得当前绑定监听事件的元素, container console.log...注意:内层元素,即点击的目标元素必须是点击时真正的目标元素,而不是外面一层; currentTarget绑定相应想要点击的class的时候必须是做代理的即做事件监听的元素。
方式一: btn.onclick = function (){ console.log("123"); }; btn.oncl...
避免先写了DOM操作,但是元素是动态加载的,所以点击不生效,比较好的方法有两个: 1、动态添加的时候加行内事件,比如onclick="funcName()" 在js中写好方法名对应的方法就可以了,如果绑定方法的元素太多...,可以考虑使用方法二; 2、jquery的on事件绑定 eg: on事件可以给动态添加的元素也绑定事件。...console.log("aaa") let num = $(this).parents(".input-group").index(); console.log(num) }) 注意:on事件先是获取到父元素...,然后绑定到子元素上,父元素最好是已经存在的元素,而不是动态添加的。
Code: $('code').click(function () { console.log($(this).text()); }); New Code:(.container 是所在的div...'.container').on("click", "code", function () { console.log($(this).text()); }); 之前只是知道官方推荐使用on来生成事件...,并不知道其好处,这次知道了 话说,,,真的好久没碰前端了,忘差不多了,O(∩_∩)O~ 动态加载JS 和 CSS 在线浏览PDF之PDF.JS (附demo) 几个比较有意思的JS脚本 经典JS
事件绑定 要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数。所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称。...在JavaScript中,有三种常用的绑定事件的方法: 在DOM元素中直接绑定; 在JavaScript代码中绑定; 绑定事件监听函数。...DOM元素,不需要因为元素的改动而修改事件绑定。...说明传统的事件绑定无法对动态添加的元素而动态的添加事件。...说明事件委托可以为新添加的DOM元素动态的添加事件。
往期文章 【Node.JS】写入文件内容 【Node.JS】读取文件内容 目录 简介 绑定事件 on() addListener() once() 监听事件emit() 传参 删除事件 removeListener...() removeAllListeners() ---- 简介 node.js的事件是使用events模块,通过实例化它里面的EventEmitter类,来绑定和监听事件。..."); }) //查看对象属性 里面有绑定的事件 console.log(event); 里面有事件具体的属性,和事件的数量。...{a}同志`); }) //触发事件冰川入参数 event.emit('namea', '小解'); once() once 只会绑定一次性的触发事件,触发一次后就会解除绑定。...removeAllListeners() 删除所有的事件监听属性,只需要写事件名,里面的监听属性都会被删除。
前面业务里有个搜索功能 , 入口比较深 , 现在想要把入口挪到有公共header的地方 , 在不想完全实现一遍功能的情况下 , 就需要模拟进行多个点击事件来执行点击后的效果 ?...执行先点击1 ,再给inout赋值 ,再点击2 基本思路是类似jquery的trigger方法 , 原生js也是可以实现 , 代码如下 按钮1 按钮2 // 假如想通过点击 Button-1 触发 Button-2 的某个事件 let btn_1 = document.getElementById...// do something } 按钮3 按钮4 //jquery的trigger
最先想到的是浏览器面板上面的,可以选中元素,看元素上面的事件绑定。 但浏览器上面看到的是结果量,也就是看到的是已经丢失了事件的元素,但我还是不知道什么时候丢失的。...我可以断点取到每个阶段的HTMLElement元素的状态,但是,这个时候,我却找不到观察其事件绑定情况的方法。 谷歌好久,发现JS原生是没法查看事件绑定情况的。...还好,我们都是用的jQuery,用的$.on()。 而jQuery自身事件绑定,额外添加了一层事件数组。...(也是这个原因,$.on()可以重复给一个元素的同一个事件绑定多个handler,而直接addEventListener则只能绑定一个,后面的会覆盖掉前面的) 扯了这么多,show me the code...,就会返回这个元素上面绑定的所有事件。
在Web开发中,有时候我们可能会把页面中的某些按钮绑定到键盘的输入事件中。以下代码能方便实现我们需要的功能。...js代码: document.onkeyup = function (event... default: break; } } 在Web开发中,有时候我们可能会把页面中的某些按钮绑定到键盘的输入事件中...以上代码能方便实现我们需要的功能。...以下为键盘的所有keyCode : keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13
可对函数进行如下扩展 Function.prototype.bind = function(obj) { var _this = this; ...
,而针对于其中的input标签,要求设置失去焦点的blur事件 需要实现的界面截图如下: ?...最开始编写的 js 代码如下: /** * 当sku库存量变化时,对应总库存进行更新 */ $(".input-sku-stock").blur(function ()...,而动态新生成的却无法触发blur事件 因为测试失败后,转而考虑新的写法,且可以正常实现 ?...ி 附录 1.针对我的问题,求助度娘,发现了下面的一个帖子,可作参考 动态添加的blur事件失效 [问题点数:60分,结帖人lawrendc] 时间相当久远... 2.最接近解决需求的文章如下...,建议可自行测试 动态生成input绑定事件无效如:blur 意见:异步导致绑定事件失败,需使用全局绑定事件 3.w3school 文档 - onblur 事件 这就是官方文档
示例展示 deleteallelem 具体描述 在原生js当中,html的内容元素总是以嵌套的关系存在于网页中,因此,可以通过遍历树的方法访问网页里的每一个元素,当然也是可以删除指定的子元素的 原生js...coder.itclan.cn itclan.cn aikelaidev.cn pay.aikelaidev.cn 删除父级元素的所有节点...,直接操作数组为空,就删除所有子元素了的 // 这里用原生js实现,主要是演示操作子节点的方式,在vue项目里,操作DOM的话,那使用vue就没有任何意义价值了的...margin-bottom: 5px; border-bottom: 1px dashed #ccc; } .deletAllBtn { margin-top: 20px; } 删除数组的所有子元素...,或全部删除清空,是一个比较常见的操作,使用原生Js全部删除操作是,通过循环遍历,一个一个的删除,而在框架里,是操作数组,想要删除全部,清空数组数据就可以了的
一、知识要点 可以重复绑定相同事件,避免事件被覆盖 二、源码参考 <!...btn1.onclick = function() { alert('绑定方式一~onclick')...} // 绑定方式二 if(btn2.attachEvent) { btn2.attachEvent...('onclick', function() { alert('绑定方式二~attachEvent'); })...else { btn2.addEventListener('click', function() { alert('绑定方式二
JS动态加载数据绑定事件-委托delegate() 方法 ---- W3C规范定义 定义和用法 delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数...使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。...---- JavaScript动态加载的数据,同时给他加载绑定事件,我选用Jquwey中的 delegate() 方法 我的理解,delegate()方法属于异步式加载绑定,dom元素加载未完成之前,可以委托给...delegate() 方法来实现的绑定操作。...第二个参数为 要绑定的事件 详情,请翻阅delegate() 方法 ---- 效果如图的返回按钮:
Vue是一套构建用户界面的 渐进式框架,入门也比较容易,但在使用过程中却可能会遇到这样那样的问题,今天笔者就将使用中遇到的一个问题记录于此,希望能帮到遇到类似问题的朋友。...="check"> $("#test").click(function(){ //todo }); 在html中使用v-if来控制该button的显示...,并在js代码中绑定该button的click事件,但是不幸的是如果载入时check变量为false,该button就会隐藏,即使后期check变为true而该button又显示出来,但是test按钮的...click事件却只有在页面加载的时候绑定(不幸的是该button没有在dom中形成而导致事件绑定失败),所以click事件不会响应,所以使用v-if绑定的事件需要使用另外一种方式来绑定click事件:v-on
第二步:选中 Elements 页签内对应的元素,可以用一个按钮来试一试。 第三步:右边选择 Event Listeners 页签,并取消勾选 Ancestors All。...这个包含该元素所有父类绑定的监听事件。 如下图所示:图中的提示框的确定按钮就绑定了一个 click 点击事件。 ?
领取专属 10元无门槛券
手把手带您无忧上云