2011-07-15 70 views
3

如何獲得HTML的輸入標籤還集中或不使用jQuery如何獲得輸入具有焦點或不使用jQuery

keydown事件會爲形式的工作,如果輸入,圖像等標籤具有焦點。但它不會工作,它集中在形式上,而不是像輸入,圖像等任何標籤。 我該如何解決這個問題。 請幫助 在此先感謝

$('#title').focusout(function() { if($(document.activeElement).is(":focus")) { alert('focus'); } else { alert('not focus'); } }); //這是不行的

+5

檢查這裏:http://stackoverflow.com/questions/967096/using-jquery-to-test-if-an-input-has-focus – ddinchev

回答

8

你可以做到這一點

if ($("#id").is(":focus")) { 
    alert('focus'); 
} 
+0

$('#title')。focusout(function() \t \t \t \t { \t \t \t \t \t如果($( 「#MakeTicket /標題」)爲( 「:聚焦」)) \t \t \t \t \t { \t \t \t \t \t \t警報( '專注' ); \t \t \t \t \t} \t \t \t \t \t別的 \t \t \t \t \t { \t \t \t \t \t \t警報( '不集中'); 。 \t \t \t \t \t} \t \t \t \t \t $( '#部')專注(); \t \t \t \t \t return false; \t \t \t \t}); –

+0

$('#title')。事件的內容(函數() \t \t \t \t { \t \t \t \t \t如果($( 「#MakeTicket /標題」)爲( 「:聚焦」)) \t \t \t \t \t { \t \t \t \t \t \t警報( '焦點'); \t \t \t \t \t} \t \t \t \t \t別的 \t \t \t \t \t { \t \t \t \t \t \t警報( '不集中'); 。 \t \t \t \t \t} \t \t \t \t \t $( '#部')專注(); \t \t \t \t \t return false; \t \t \t \t});但這不起作用。在我的代碼中有任何錯誤 –

+1

對運行後添加到DOM中的動態元素不起作用... – Alex

3

它更容易通過使用jquery進行檢查。 使用jQueryü可以做這樣的

if($"#div/inputtocheck").is(":focus")) 
{ 
//do something u want if it is in focus 
} 

如果DIV是FOUCS的:focus收益真假,如果它沒有焦點

+0

$('#title')。focusout(function(){if($(「#MakeTicket/title」)。is (':focus')){alert('focus');} else {alert('not focus');} $('#Department')。focus(); return false;});但這不起作用。在我的代碼中有任何錯誤 –

+0

我無法理解你的代碼,請在這裏發佈一個編輯問題。這將使得我們的代碼更具可讀性。 – kritya

1

您可以使用document.activeElement

+0

我試過這個,但是這也行不通 –

+1

這就是jQuery使用的,我提出它,因爲它比jQuery對象和選擇器使用效率高得多。如果你不能直接使用它,那麼jQuery不能提供幫助。 * document.activeElement *是W3C [元素遍歷規範](http://www.w3.org/TR/ElementTraversal/)的一部分,這是相當新的,所以一些瀏覽器不支持它。 – RobG

相關問題