我想知道我的页面中哪些元素是可点击的,这意味着它们要么具有href属性(易于检查),要么通过JS将它们绑定到它们。有没有办法这样做?
答案 0 :(得分:2)
使用针对此问题提供的解决方案:How to debug JavaScript/jQuery event bindings with Firebug (or similar tool)
我认为这可能是你所需要的:
<html>
<head>
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js" type="text/javascript"></script
</head>
<body>
<a href="test">test link</a>
<span>test span</span>
<script type="text/javascript">
$.fn.listHandlers = function(events, outputFunction) {
return this.each(function(i){
var elem = this,
dEvents = $(this).data('events');
if (!dEvents) {return;}
$.each(dEvents, function(name, handler){
if((new RegExp('^(' + (events === '*' ? '.+' : events.replace(',','|').replace(/^on/i,'')) + ')$' ,'i')).test(name)) {
$.each(handler, function(i,handler){
outputFunction(elem, '\n' + i + ': [' + name + '] : ' + handler );
});
}
});
});
};
$("span").click(function(){ alert("test");});
var clickableObjects = [];
$(document).ready(function(){
$('*').listHandlers('click',function(element,data){
clickableObjects.push(element);
}).filter("a").each(function(index, value){
clickableObjects.push(value);
});
});
</script>
</body>
</html>
答案 1 :(得分:0)
为什么不将.clickable类分配给具有href属性的元素,并确保在.bind()它们时也为项目分配.clickable类?