javascript:如何检查元素是不是可点击
Posted
技术标签:
【中文标题】javascript:如何检查元素是不是可点击【英文标题】:javascript: How to check if an element is clickable or notjavascript:如何检查元素是否可点击 【发布时间】:2011-08-03 16:08:09 【问题描述】:我的幼稚做法如下:
function isClickable(id)
elem = document.getElementById(id);
if (elem.nodeName.toLowerCase() == 'a' || typeof(elem.click) != 'undefined')
return true;
else
return false;
有什么更好的办法吗?
【问题讨论】:
我的意思是,从技术上讲,一切都是可点击的...... 你是对的。如果我改写成:“如果我点击它,会发生什么事情吗?” 你想通过确定这个来完成什么? 实际上 Firefox 需要一个讨厌的脚本才能以编程方式单击一些 html 元素 我的目标是测试 - 在我执行一些操作后,元素是否变得可点击(停止可点击) 【参考方案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
【讨论】:
这很好用,但最重要的是我也添加了这个检查 if(element.getAttribute('role') === "button")以上是关于javascript:如何检查元素是不是可点击的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Selenium WebDriver 检查元素是不是可点击
Selenium Webdriver:如何检查特定屏幕上是不是存在 ui 元素,无论它当前是不是可见/可点击