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

我研究了一下之后发现,jQuery都将事件缓存起来了,其实也是为了防止内存溢出以及页面unload的时候的速度,也包括多函数触发,方便管理等诸多好处,具体可以参考此文。
jQuery会在window.unload的时候卸载所有绑定过的事件,释放内存的。

OK,言归正传。判断元素上是否绑定过事件用如下语句

jQuery.data(elem,"events")[type] //老版本也能用
$(elem).data("events")[type] //1.2.3以后才能用 

返回值:
一个Object,可以用for in来遍历。或者undefined。
参数:
elem是一个DOM对象,type是事件类型。

举例:
判断id为foo的元素上是否绑定了click事件

if( $("#foo").data("events")["click"] ){
//your code
} 
时间: 2024-12-25 01:41:07

jQuery 判断元素上是否绑定了事件的相关文章

jquery判断元素是否隐藏的多种方法

第一种:使用CSS属性 复制代码 代码如下: var display =$('#id').css('display'); if(display == 'none'){    alert("被你发现了,我是隐藏的啦!"); } 第二种:使用jquery内置选择器 假设我们页面有这么个标签, 复制代码 代码如下: <div id="test">< p>仅仅是测试所用</p>< /div> 那么,我们可以用以下语句来判断id

jQuery判断元素是否存在方法

1.使用javascript判断元素是否存在 if(document.getElementById('div')) { } else { } 2.使用jquery判断元素是否存在 if ($("#div").length > 0){     // 找到对应id=div的元素,然后执行此块代码 }

JQuery判断元素是否存在

JQuery判断元素是否存在的原理与javascript略有不同,因为$选择器选择的元素无论是否存在都不会返回null或undefined,要使用JQuery判断元素是否存在,只能使用length属性,就像下面这样: if($("#element").length>0){ alert("element is exist."); }else{ alert("element not be found"); } 参考:jQuery 判断页面元素是

layUi 模板引擎动态创建元素之后,绑定的事件无效了;

模板引擎动态创建元素之后,绑定的事件无效了: layUi 模板引擎动态创建元素之后,绑定的事件无效了: 可以在 模板引擎成功后  注册事件 原文地址:https://www.cnblogs.com/lpp-11-15/p/12264046.html

Jquery 获取元素上绑定的事件

jquery1.x  版本 控制台输入  $.cache[$('#clickMe').get(0)[$.expando]].events 输出元素上绑定的事件 jquery1 , jquery2 版本 ( $._data会在jquery2之后的新版本中废除 ) 控制台输入 $._data($('#clickMe').get(0)).events   原文地址:https://www.cnblogs.com/sky-gfan/p/12072031.html

jquery在元素上收购事件

jquery的给元素绑定的事件能够用data方法取出来 通过$(element).data("events")来获取 // 比方给一个button绑定两个click事件 $("button").click(function() { alert("1") }); $("button").click(function() { alert("2") }); // 这个时候点击该button会分别弹出 2 和1的a

jQuery判断元素是否是隐藏的代码

if($("#elem_id").is(":hidden")) { } 实例代码1: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document

jquery判断元素是否出现在可视区

在我们的日常开发中,经常会遇到当元素出现在可视区的时候需要去出发某一事件的情况.我最近在优化环球网首页的时候,将非可视区的代码全部放入到webComponent中.打算当这个元素出现在可视区的时候去加载对应的shadowRoot. 那么,言归正传,对于我这个前端小白,还是好先搞定如何判断元素出现在可视区啊! jquery实现起来比较简单,先解释下几个东东 offset().top和offsetTop:offsetTop:元素border外侧到offsetParent()的偏移量.(offsetP

jquery动态添加元素无法触发绑定的事件的解决方案

方法一:绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持). //jquery 1.9(不包括1.9)以下可以 $(".btn").live("click",function(){ alert('这里是动态元素添加的事件'); }) 方法二:利用on()事件绑定 ($(ParentEle).on("click",".thisEle",function(){}) $("body")