2015-07-20 68 views
2

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

正如我们所知HTML中的输入字段很多。如输入元素,内容可编辑attr,文本框等的div,我需要知道我选择的元素是否可编辑。有些事情是这样的。

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

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

回答

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" />

+0

事实上,':input'会选择不可编辑的要素'select'或'button' –

+0

所以这些都是输入元素。没有其他的权利? @Arun – Vicky

+0

@Vicky https://api.jquery.com/input-selector/ - 你想选择'select' elemetn也 –

相关问题