如何知道所选元素是否为输入字段?

时间:2015-07-20 12:28:12

标签: javascript jquery html

我需要知道所选元素是否是输入字段。

我们知道HTML中的输入字段很多。喜欢输入元素,内容可编辑attr,文本字段等的div,我需要知道我选择的元素是否可编辑。有点像这样。

$(document).click(function(e){
        if($(e.target).is('[contenteditable="true"]')){
            alert("i am edit able");
        }
    });

在这里它可以说元素只有在contenteditable="true"存在时才可编辑。那么可编辑文件是否有任何常见的attr或属性。如果是这样回答,如果没有列出所有可能的可编辑文本/

1 个答案:

答案 0 :(得分:5)

我认为你可以使用:输入选择器

$(document).click(function(e) {
  if ($(e.target).is('[contenteditable], :input:not(:button)')) {
    snippet.log("i am editable: " + e.target.tagName);
    console.log(this)
  }
});
div {
  border: 1px solid lightgrey;
}
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div contenteditable></div>
<input />
<textarea></textarea>
<select></select>
<div>some other content</div>
<button>Button</button>
<input type="button" value="T Button" />
<input type="reset" value="T Reset" />
<input type="submit" value="T Submit" />