首页
学习
活动
专区
圈层
工具
发布

jQuery 查找on事件绑定元素的被绑定元素方法

jQuery 查找on事件绑定元素的被绑定元素方法 遇到的问题 今天写了一个JQ插件,结果里面有一点问题.让我很郁闷.问题演示代码如下 $box.on('click', 'img', function(...当然这是正确的. 而我需要找到 $box 也就是 img 的父级. 如果不是插件的话,我当然可以根据它的ID或者CLASS来进行查询.问题是,我是写的插件,也就是说,我并不知道它的这些信息是什么....当然,如果box在DOM中只存在一个的话,那么也没有问题,直接通过box就可以找到了. 问题是 box 也并不是唯一的.所以,我应该怎么知道这个 box 到底是 哪个 有点晕.没关系....解决方法 很多基础的东西不理解,就会出现我这样的问题.如同事所说,你是还不会爬呢,都学上跑了.因此,踩坑无数啊....解决方法如下: $box.on('click', 'img', function(){ $box.has($(this)) }); 如上,通过 .has 操作,就能找到唯一的父级被绑定元素了.

5.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从零开始学 Web 之 jQuery(五)操作元素其他属性,为元素绑定事件

    2、方法二 元素.width(属性值或者数字); 元素.height(属性值或者数字); 1、jQuery中用以上方式可以获取和设置元素的宽高。 2、当没有参数的时候是获取元素的宽高属性。...3、当设置参数为 200 或者 200px的时候是设置元素的宽高为 200px。 4、以上方法不仅可以获取行内式元素的宽高,也可以获取嵌入式写法元素的宽高。...四、为元素绑定事件 1、方式一:(事件名) 语法: 元素.事件名(事件处理函数); 示例: // 绑定鼠标进入,离开,点击事件 $("#btn").mouseenter(function ()...4、方式四:(delegate方法) 语法:(父元素替子元素绑定事件) 父元素.delegate("子元素","事件名",事件处理函数); 示例: // 为div下p标签绑定点击事件 $("#dv")....语法: 父元素.on("事件名", "子元素", 事件处理函数); 示例: // 为div下p标签绑定点击事件 $("#dv").on("click", "p", function () { //.

    86740

    从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件

    一、为元素绑定多个相同事件 1、方式一 $("#btn").click(function () { console.log("click1"); }).click(function...先说结论:通过调用事件名的方式和 bind 的方式只能绑定之前存在的元素,后添加的元素不能绑定事件;而 delegate 和 on 的方式绑定元素的方式可以。...3、on 解绑事件 语法: // 父元素和子元素的所有事件都会解绑 父元素.off(); // 父元素和子元素的单个或多个事件解绑 父元素.off("事件1 事件2 ..."); // 子元素的所有事件解绑...父元素.off("", "子元素"); // 子元素的单个或多个事件解绑 父元素.off("事件1 事件2...", "子元素"); // 父元素中所有的子元素的所有事件解绑 父元素.off("", "**"); // 父元素中所有的子元素的单个或多个事件解绑 父元素.off("事件1 事件2 ...

    1K40

    从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件

    一、为元素绑定多个相同事件 1、方式一 $("#btn").click(function () { console.log("click1"); }).click(function...先说结论:通过调用事件名的方式和 bind 的方式只能绑定之前存在的元素,后添加的元素不能绑定事件;而 delegate 和 on 的方式绑定元素的方式可以。...3、on 解绑事件 语法: // 父元素和子元素的所有事件都会解绑 父元素.off(); // 父元素和子元素的单个或多个事件解绑 父元素.off("事件1 事件2 ..."); // 子元素的所有事件解绑...父元素.off("", "子元素"); // 子元素的单个或多个事件解绑 父元素.off("事件1 事件2...", "子元素"); // 父元素中所有的子元素的所有事件解绑 父元素.off("", "**"); // 父元素中所有的子元素的单个或多个事件解绑 父元素.off("事件1 事件2 ...

    92820

    jquery中动态新增的元素节点无法触发事件解决办法

    在使用jquery中动态新增的元素节点时会发现添加的事件是无法触发的,我们下面就为各位来详细的介绍此问题的解决办法.   ...),想必后面通过ajax加载进来的列表中的回复按钮,点击事件会失效。   ...其实最简单的方法就是直接在标签中写onclick="",但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。...解决jquery中动态新增的元素节点无法触发事件的问题有两种解决方法,如下: 方法一:使用live   live()函数会给被选的元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行的函数。...通过live()函数适用于匹配选择器的当前及未来的元素。比如,通过脚本动态创建的元素。

    2.7K20

    jQuery通过id选择器绑定双击事件,和appendTo()方法的使用详解

    下拉列表绑定一个双击事件dblclick() $("#id”).dblclick(function(){ //获取列表中所有被选中的option var alloptions...= $("option:selected");//这种写法存在问题,如果已分配列表中也有被选中的option同样会被选中//不可以 var alloptions = $("#id option...$("option:selected");//不可以 var alloptions = $("option:selected",$("#id"));//选择哪个下拉(select)列表的被选中的值...,选中中的值(第四种写法) alert(alloptions.length); //appendTo()把所有匹配的元素追加到另一个指定的元素元素集合中。...//实际上,使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把b追加到a,而是把a追加到b $("option:selected",this).appendTo($("

    1.8K20

    通过ASP.NET Web API + JQuery创建一个简单的Web应用

    看了dudu的《HttpClient + ASP.NET Web API, WCF之外的另一个选择》一文,想起多很久之前体现ASP.NET Web API而创建的一个Demo。...这是一个只涉及到简单CRUD操作的Web应用,业务逻辑以Web API的形式定义并以服务的形式发布出来,前台通过jQuery处理用户交互并调用后台服务。...[源代码从这里下载] 目录 一、一个简单的基于CRUD 二、通过ASP.NET Web API提供服务 三、通过JQuery消费服务 一、一个简单的基于CRUD...我想对Web API不了解的人会感概,为了什么采用常用的四个HTTP方法作为操作的名称,因为它们在默认的情况下就可以映射为HTTP请求的方法。...三、通过JQuery消费服务 我们通过ASP.NET MVC来构建Web应用,默认的HomeController定义如下,默认的Index操作仅仅是将默认的View呈现出来而已。

    1.2K100

    前端架构师之01_JQuery

    方式2则通过公共的CDN的优势加快了jQuery文件的加载速度。 在HTML页面中创建含有文本“测试”和属性(align=“center”)的元素。...“$()”等价于“jQuery()”,即jQuery的构造函数,为该构造函数传递一个元素,就可以创建出一个元素对象。...从DOM中删除所有匹配的元素(保留所有绑定的事件、附加的数据等) empty()方法仅能删除匹配元素的文本内容,而元素节点依然存在。...4 事件操作 4.1 常用事件 标签中通过属性设置事件,每个属性都由一个on和事件名组成。例如,点击事件对应的属性为onclick。 在jQuery中则可直接使用其提供的与事件类型同名的方法。...() 通过序列化表单值,创建对象数组(名称和值) Ajax事件 ajaxComplete(fn) Ajax请求完成时触发的事件执行函数 Ajax事件 ajaxError(fn) Ajax请求发生错误时触发的事件执行函数

    3.1K00

    python测试开发django-167. jQuery中append() 动态新增的元素 click 事件无效的解决办法

    前言 使用append新增的div元素,绑定click事件无效的几种解决办法 遇到问题 绑定select下拉框click事件 // 绑定select下拉框click事件...}) 新增的div上点击事件没监听到 主要原因是事件是在 dom 加载的时候就已经完成了,新增的 div 元素 click 事件就无效了。...使用live live()函数会给被选的元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行的函数。 通过live()函数适用于匹配选择器的当前及未来的元素。...}) 看到网上很多都是用的live方法,但是会报错:TypeError: $(…).live is not a function 主要原因是jquery中的live()方法在jquery1.9...使用on 接下来还是使用on的方法,把点击事件绑定到它父元素上,这样就可以了 // 绑定select下拉框click事件 $('#cards').on('click',

    1.3K20
    领券