jquery data方法獲取某個元素上事件


獲取某個元素上的事件,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;

以下是此方法的測試頁面:

<%@ 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動態改變事件--www.jbxue.com</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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM