我的天真方法如下:
function isClickable(id){
elem = document.getElementById(id);
if (elem.nodeName.toLowerCase() == 'a' || typeof(elem.click) != 'undefined'){
return true;
}else{
return false;
}
}
我还能做些什么吗?
答案 0 :(得分:1)
对于大多数元素...
if(e.getAttribute('onclick')!=null){
// clickable
}
对于锚点...
if(e.getAttribute('href')!=null){
// clickable
}
然后,您将具有需要更多代码的表单按钮,最后您将要冒泡单击事件,因此涵盖所有元素的完美解决方案将是一场噩梦!
但是,如果您只想要一些简单的容器和锚点,那么我们可以将上面的逻辑与...相结合。
if((e.getAttribute('onclick')!=null)||(e.getAttribute('href')!=null)){
// clickable
}
相反...
if((e.getAttribute('onclick')===null)&&(e.getAttribute('href')===null)){
// not clickable
}