我试图检测当前活动元素是否是任何类型的输入字段。目前我有这个:
var activeElement = document.activeElement
if (activeElement && (activeElement.tagName.toLowerCase() === 'input' ||
activeElement.tagName.toLowerCase() === 'textarea' ||
activeElement.tagName.toLowerCase() === 'select' ||
activeElement.tagName.toLowerCase() === 'button')) {
return false
}
有更好的方法吗?我正在使用Vue JS,所以如果有一个Vue API的解决方案也可以。
答案 0 :(得分:8)
您可以将要检查的所有元素类型放入数组中,并检查您的活动元素是否在其中:
var activeElement = document.activeElement;
var inputs = ['input', 'select', 'button', 'textarea'];
if (activeElement && inputs.indexOf(activeElement.tagName.toLowerCase()) !== -1) {
return false;
}
答案 1 :(得分:-4)
使用Jquery,您可以尝试以下
if(elem.is('input')){
//yes it an input element.
}
如果要检查特定输入类型
if(elem.is('input:radio')){
//yes it an input type = 'radio' element.
}