2015-07-20 71 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也 –

相關問題