jquery之获取某个元素上的事件

jquery的给元素绑定的事件可以用data方法取出来

通过$(element).data("events")来获取

// 比如给一个button绑定两个click事件

$("button").click(function() { alert("1") });

$("button").click(function() { alert("2") });

// 这个时候点击该button会分别弹出 2 和1的alert框

// 取出该button的所有click事件,是个数组

$("button").data(‘events‘).click

会看到两个click事件的数组

得到该数组,你可以调整顺序后再设回去

$("button").data(‘events‘).click = newEventArray;

下面是这个方法的测试页面:

<span style="font-size:18px;"><%@ page contentType="text/html;charset=UTF-8" language="java" %>  

<!DOCTYPE HTML>
<html>
<head>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>测试jquery动态改变事件</title>  

       <script type="text/javascript" src="/static/lib/jquery-1.6.2.min.js"></script>
       <script type="text/javascript" src="/static/lib/jquery.cookie.min.js"></script>
        <script type="text/javascript" src="/static/lib/util.min.js"></script>
        <script type="text/javascript" src="/static/lib/jquery.bgiframe.min.js"></script>
        <script type="text/javascript" src="/static/lib/jshashtable.min.js"></script>
    </head>
    <body>
<h1>该demo用于测试jquery附加了事件以后可不可以动态改变事件有无,及顺序</h1>
<input id="btn" type="button" value="点击我执行事件,分别执行三个次序弹窗"/><br/>
<input id="btn_clear" type="button" value="点击清空执行事件,清空后第一个按钮无反应"/><br/>
<input id="btn_revert" type="button" value="点击还原执行事件,点击后第一个按钮又会有反应"/><br/>
<input id="btn_seq" type="button" value="点击我改变执行事件顺序,顺序会改变"/><br/>
 <script type="text/javascript">
$(document).ready(function(){
     $("#btn").click(function(){
         alert(1);
     });
     $("#btn").click(function(){
         alert(2);
     });
     $("#btn").click(function(){
         alert(3);
     });
    var _arr_events= $("#btn").data("events")["click"];
     $("#btn_clear").click(function(){
         $("#btn").data("events")["click"]=undefined;
     });
     $("#btn_revert").click(function(){
         $("#btn").data("events")["click"]=_arr_events;
     });  

 });
 </script>
    </body>
</html>
</span>

jquery之获取某个元素上的事件

时间: 2024-12-25 11:22:28

jquery之获取某个元素上的事件的相关文章

jquery data方法获取某个元素上事件

获取某个元素上的事件,jquery的给元素绑定的事件可以用data方法取出来. 通过$(element).data("events")来获取 // 比如给一个button绑定两个click事件 $("button").click(function() { alert("1") }); $("button").click(function() { alert("2") }); // 这个时候点击该button

Jquery 在动态元素上绑定事件

弄了很久却没有弄出来,感觉没有错,但是动态元素上的事件根本就不响应,代码如下: <input type="button" id="btnyes" value="确定" /> <div id="divcontent"> </div> <script> $(function () { $("#btnyes").on("click", funct

jquery为链接a元素注册click事件并避免跳转现象

jquery为链接a元素注册click事件并避免跳转现象:在实际应用中,可能需要将链接a作为一个普通的按钮使用,但是由于点击按钮会导致跳转动作,下面就通过代码实例介绍一下如何实现点击功能,并且不会出现跳转现象,代码如下: <!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.

jQuery中多个元素的Hover事件

1.需求简介 2.示例研究 3.解决方案 1.需求简介 jQuery的hover事件只是针对单个HTML元素,例如: $('#login').hover(fun2, fun2); 当鼠标进入#login元素时调用fun1函数,离开时则调用fun2函数,这种API已能够满足绝大部分需求. 不过,有些时候我们希望当鼠标进入两个或多个元素“组合的区域”时触发fun1,离开他们时触发fun2,而在这些元素间移动鼠标并不触发任何事件.例如两个元素紧挨着的HTML元素,如下图: 当鼠标进入二者的“组合区”域

jQuery如何获取当前元素的索引

jQuery如何获取当前元素的索引:获取元素的索引在一些操作中相当重要,例如选项卡或者下拉菜单的中可能会遇到,当然要根据特定的实现方式而定.下面是一段获取当前元素索引的代码实例: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="a

jQuery如何获取当前元素的兄弟元素

jQuery如何获取当前元素的兄弟元素:在实际应用中,有时候要获得当前元素的兄弟元素,下面就通过一段实例代码简单介绍一下如何获取当前元素的兄弟元素.实例代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> &l

jquery如何阻止子元素相应mouseout事件

jquery如何阻止子元素相应mouseout事件:mouseout有一个特点,当鼠标移入子元素的时候,也会触发此事件,但是在实际应用中这个特点往往不是我们想要的,下面就通过代码实例介绍一下如何实现此效果,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://ww

jquery如何获取当前元素的下一个元素

jquery如何获取当前元素的下一个元素: 本章节介绍一下如何利用jquery获取当前元素的下一个元素,如何利用原生js获取下一个元素可以参阅原生js获取当前元素的下一个元素代码实例一章节, 下面直接看代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51tex

jQuery无法获取隐藏元素(display:none)宽度(width)和高度(height)的新解决方案

用jQuery写一个通过点击左右图标来翻阅图片的小插件,写好后测试可以正常运行,但是放到Tab中后发现只有第一个Tab中的代码能够正常运行,其它全部罢工了. 用Chrome自带的开发工具一查,发现罢工的Tab中.小插件一些重要元素的宽度都变成“0”了,因为这个小插件需要计算动态宽度来实现,于是马上想到是小插件中的宽度获取失败了,果不其然. 汗,居然一直没发现jQuery无法获取隐藏元素(display:none)的宽度(width)和高度(height),为了兼容IE6,我用1.x版,而且是官方