我们编写前端页面的时候,一般都需要给元素绑定事件,那么如何用JS判断某个元素是否绑定了某个事件呢?下面小编给大家演示一下。
JavaScript中可以通过引入jQuery使用$._data方法来判断是否绑定方法。
$(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");
}
});
});
$.data() :
$.data() 函数用于在指定的元素上存取数据,返回设置值。
提示: 1.这是一个底层方法,.data() 方法更方便使用。
2.通过 data() 函数存取的数据都是临时数据,一旦页面刷新,之前存放的数据都将被移除。
3. 该方法目前并不提供在XML文档上跨平台设置,Internet Explorer不允许在XML文档中通过自定义属性附加数据。
语法:$.data( element, key, value )$.data( element, key )