`

jquery 给未来元素绑定事件的写法

 
阅读更多

给未来元素绑定事件的写法,注意红色部分(既然该元素还未生成,则可以确定到它的父节点嘛:document)

 

$(document).on("click","[type='radio'][urlortext='radioText']", function() {

$(this).closest('td').next('td').find('input[name="menuText"]').css('display','block');

$(this).closest('td').next('td').find('input[name="menuUrl"]').css('display','none');

});

$(document).on("click","[type='radio'][urlortext='radioUrl']", function() {

$(this).closest('td').next('td').find('input[name="menuUrl"]').css('display','block');

$(this).closest('td').next('td').find('input[name="menuText"]').css('display','none');

});

 

 

 

.on(events, callback) 只能绑定页面已有元素的事件。
.on(events, selector, callback) 则是在 已有的元素 上绑定 代理的 事件处理器 (addEventListener 实际上在该已有元素上调用),但只有事件的实际 source 是其子代元素并且符合 selector 时, callback 才会以该实际 source 为 this 指向的对象被调用。

For example:

$(document).on("click", "a", function () { console.log(this.tagName.toLowerCase()); // "a" return false; });

这样即可监听页面创建时尚未存在的 <a> 元素所产生的事件。

 

 

Delegated events have the advantage that they can process events from descendant elements that are added to the document at a later time. By picking an element that is guaranteed to be present at the time the delegated event handler is attached, you can use delegated events to avoid the need to frequently attach and remove event handlers. This element could be the container element of a view in a Model-View-Controller design, for example, or document if the event handler wants to monitor all bubbling events in the document. The document element is available in the head of the document before loading any other HTML, so it is safe to attach events there without waiting for the document to be ready.

In addition to their ability to handle events on descendant elements not yet created, another advantage of delegated events is their potential for much lower overhead when many elements must be monitored.

渣翻译:

委托事件 的优势是可以处理在其后添加入文档的子代元素所产生的事件。通过选择一个添加委托事件时必然存在的元素,你可以使用委托事件以避免频繁添加和移除事件处理器的需求。例如,该元素可以是在 MVC 设计中视图的包含元素,或者如果事件处理器要监控文档中所有冒泡的事件时,则是 documentdocument 在载入任何其它 HTML 之前即可在文档的头部获得,所以在此添加事件处理器而不用等待 document 的 ready 是安全的。

除了处理尚未创建的子代元素上产生的事件,委托事件的另一个优势是需要监控多个元素时的性能更好。

分享到:
评论

相关推荐

    JQuery调用绑定click事件的3种写法

    `.on()`方法可以处理当前及未来的元素(动态生成的元素)的事件,这使得它在处理动态内容时非常有用。下面是使用`.on()`的方法: ```javascript $('#clickmeon').on('click', function(){ alert("Hello World on")...

    layui动态绑定事件的方法

    先通过jQuery选取需要添加事件监听的元素,然后使用.on()方法绑定事件。对于动态添加的元素,我们同样可以使用.on()方法进行事件委托,将事件监听设置在静态的父级元素上,从而实现对动态添加元素的事件监听。 在...

    jQuery实现为动态添加的元素绑定事件实例分析

    本文实例讲述了jQuery实现为动态添加的元素绑定事件。分享给大家供大家参考,具体如下: 在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件。像需要用ajax的...

    浅析jquery数组删除指定元素的方法:grep()

    在这段代码中,`$.grep()`函数遍历`sexList`数组,将每个元素及其索引作为参数`n`和`i`传递给过滤函数。过滤函数检查索引`i`是否不等于1,如果是,则返回`true`,这意味着元素应当被保留;否则返回`false`,该元素将...

    jquery点击弹窗2种写法

    这两种方法都基于jQuery的事件处理和DOM操作功能,下面将详细介绍这两种实现方式。 ### 1. 使用jQuery UI Modal Dialog jQuery UI库提供了一种简单易用的模态对话框功能。首先,你需要在项目中引入jQuery和jQuery ...

    jQuery实现获取绑定自定义事件元素的方法

    在本例中,我们将探讨如何使用jQuery实现一个自定义事件`itemtab`,并学习如何获取绑定此事件的元素。这个功能对于构建响应式触摸界面特别有用,例如在移动端的列表或选项卡切换中。 首先,我们看到一个匿名函数 `...

    jquery-3.4.1_jquery_3.4.1.js_jquery-3.4.1_sangat1_jquery3.4.1_jq

    jQuery通过提供一套丰富的API,使得开发者可以快速实现常见的网页操作,如选择元素、添加事件监听器、执行AJAX请求等,而无需编写大量复杂的原生JavaScript代码。 在标签中,"jquery_3.4.1.js"和"jquery-3.4.1"再次...

    jqueryzepto插件把各种延迟串联起来采用管道式写法

    在JavaScript的世界里,jQuery和Zepto是两个非常流行的库,它们极大地简化了DOM操作和事件处理,同时也提供了许多实用的功能,比如动画效果和异步请求。"jqueryzepto插件把各种延迟串联起来采用管道式写法"这个主题...

    ajax、jquery各种很实用的分页写法

    接下来是jQuery,一个流行的JavaScript库,它简化了DOM操作、事件处理和AJAX请求。使用jQuery实现分页,可以减少代码量并提高可读性。以下是一个简单的jQuery分页示例: 1. 引入jQuery库:确保HTML文件中包含了...

    JQuery权威指南源代码

    jQuery事件的链式写法 控制jQuery对象 jQuery控制CSS样式 第2章 使用JavaScript实现隔行变色 使用jQuery选择器实现隔行变色 JavaScript代码检测页面元素 jQuery代码检测页面元素 使用jQuery基本选择器 使用...

    最全面的jQuery基础知识

    jQuery元素属性、jQuery元素内容、jQuery动态创建内容、jQuery删除节点、jQuery事件处理、jQuery文档就绪的四种写法、jQuery事件绑定和解除绑定、jQuery事件切换、jQuery实现toggle功能、jQuery插件、jQuery插件实用...

    关于Jquery的鼠标悬停事件

    如果有很多元素需要绑定相同的悬停事件,可以将事件绑定到它们的共同父元素,然后通过事件冒泡来处理: ```javascript $("#parentElement").on("mouseenter mouseleave", ".childClass", function(event) { if ...

    jQuery 判断元素上是否绑定了事件

    ### 如何判断jQuery元素上是否绑定了特定事件 在Web开发过程中,经常需要对DOM元素进行事件绑定操作,以便响应用户的交互行为。然而,在某些情况下,我们可能需要判断某个元素是否已经绑定了某个事件,避免重复绑定...

    jQuery扩展插件和拓展函数的写法-代码

    在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。为了满足特定需求,开发者经常会为jQuery编写扩展插件或拓展函数,以增强其功能。本篇文章将深入探讨...

    jquer事件绑定

    jQuery提供了多种方式来处理DOM元素上的事件绑定,其中`bind()`方法是较为基础且灵活的一种。`bind()`方法允许开发者为指定的DOM元素绑定一个或多个事件处理器,并且支持事件委托和自定义命名空间事件绑定等功能。 ...

    jquery新手入门 简化js代码 运行速度更快

    3. **事件处理**:jQuery统一了事件绑定的写法,使用`.on()`方法即可,避免了跨浏览器的兼容性问题。 4. **动画效果**:jQuery内置了大量的动画效果,如淡入淡出(`fadeIn/fadeOut`)、滑动(`slideUp/slideDown`)等,...

    jQuery权威指南-源代码

    4.3 绑定事件/86 4.4 切换事件/90 4.4.1 hover()方法/90 4.4.2 toggle()方法/93 4.5 移除事件/94 4.6 其他事件/96 4.6.1 方法one() /97 4.6.2 方法trigger () /98 4.7 表单应用/100 4.7.1 文本框中的事件...

    jquery点击显示 隐藏事件

    综上所述,通过简单的HTML结构和jQuery的事件绑定机制,我们可以轻松地实现元素的动态显示与隐藏功能。这对于提升用户体验、增强页面的互动性来说是非常有帮助的。希望本文能够帮助大家更好地理解和掌握这一技能。

    超实用的jQuery代码段

    3.14 如何为动态添加的元素绑定事件处理函数 3.15 为表格行增加单击事件 3.16 用回车键模拟Tab键 第4章 jQuery操作CSS样式 4.1 使用addClass()函数动态添加样式类 4.2 使用removeClass()函数动态移除样式类 4.3...

    JQuery应用六:窗口效果(JQuery插件的写法)

    **jQuery应用六:窗口效果(jQuery插件的写法)** 在Web开发中,jQuery库以其简洁、强大的API,使得JavaScript编程变得更加简单。本篇将深入讲解如何利用jQuery实现窗口效果,并探讨jQuery插件的编写方法。我们将...

Global site tag (gtag.js) - Google Analytics