我们编写前端页面的时候, 一般都需要给元素绑定事件, 那么如何用 JS 判断某个元素是否绑定了某个事件呢? 下面小编给大家演示一下.
JavaScript 中可以通过引入 jQuery 使用 $._data 方法来判断是否绑定方法.
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>
- </title>
- <script src="/jquery-easyui-1.3.2/jquery-1.8.0.min.js" type="text/javascript">
- </script>
- <script type="text/javascript">
- $(function() {
- $("#btnTest").click(function() {
- alert('aa');
- });
- $("#btn").click(function() {
- // 判断是否绑定了 click 事件
- var objEvt = $._data($("#btnTest")[0], "events");
- if (objEvt && objEvt["click"]) {
- //console.info(objEvt["click"]);
- alert("bind click");
- } else {
- alert("Not bind click");
- }
- });
- });
- </script>
- </head>
- <body>
- <input type="button" id="btn" value="测试是否绑定事件" />
- <input type="button" id="btnTest" value="被测试按钮" />
- </body>
- </HTML>
$.data() :
$.data() 函数用于在指定的元素上存取数据, 返回设置值.
提示: 1. 这是一个底层方法,.data() 方法更方便使用.
2. 通过 data() 函数存取的数据都是临时数据, 一旦页面刷新, 之前存放的数据都将被移除.
3. 该方法目前并不提供在 xml 文档上跨平台设置, Internet Explorer 不允许在 xml 文档中通过自定义属性附加数据.
语法:
- $.data( element, key, value )
- $.data( element, key )
来源: http://www.css88.com/qa/javascript/11447.html