我有按钮,我试图通过jquery检测如果按钮附加了点击事件并且有特定消息请隐藏它..
到目前为止,我什么都没有出现:这是我的代码:
<button name="submit" type="submit" class="iuttons" onclick="alert('The number of pages in your results is too long for us to print.');"><img height="16" alt="Submit" src="mall.png" width="16" align="center"></button>
我正在尝试这样的事情:但不确定如何:
$("#iuttons").on('submit').length() {
hide the button [same button]
}else{
show the button
}
这需要在doc准备好的情况下运行,以便它可以知道该做什么
答案 0 :(得分:0)
我不确定你想要做什么,但如果你试图隐藏点击按钮,请使用:
$('.iuttons').click(function() {
$(this).hide();
});
答案 1 :(得分:0)
function hasClickEventAttached(id){
jQuery.each($('#' + id).data('events'), function (i, event) {
jQuery.each(event, function (i, handler) {
if(handler.type == 'click') return true;
});
});
return false;
}
现在您可以使用它:
if(hasClickEventAttached('iuttons'))
alert('onclick event is attached');
else
alert('onclick event is not attached');
答案 2 :(得分:0)
如果你正在使用jQuery&lt; 1.8.3,你可以使用这样简单的东西:
// your element
var $el = $('.iuttons');
// set listener
$el.on('submit', function() { alert('hi'); });
// check events
var hasListener = !!($el.data('events') || {})['submit'];
// print to console
console.log( "Submit listener: ", hasListener );
因为它与之相关,所以把它放在混合物中;这不是一个充分的答案。
Chrome,Firefox和Safari内置支持名为getEventListeners
的功能。 https://developer.chrome.com/devtools/docs/commandline-api#geteventlistenersobject
getEventListeners(myElement);
// output:
// Object {mouseover: Array[1]}