2010-03-25 20 views
9
$('a#next').click(function() { 
    var tags = $('input[name=tags]'); 

    if(tags.val()==''){ 

    tags.addClass('hightlight'); 
    return false; 
    }else{ 
    tags.removeClass('hightlight'); 
    $('#formcont').fadeIn('slow'); 
    $('#next').hide('slow'); 
     return false; 
    } 
}); 

我想上面的代碼在有人開始輸入標籤輸入時觸發fadeIn。有人可以告訴我這樣做的正確方法,還是指向正確的方向?在此先感謝jquery檢查某人何時開始輸入字段

編輯

這裏是代碼做到這一點:

$('input#tags').keypress(function() { 

    $('#formcont').fadeIn('slow'); 
    $('#next').hide('slow'); 
}); 

我發現的唯一的問題是我的光標不再在文本框中顯示出來。我究竟做錯了什麼?

回答

8

聽起來像淡出是移動你的焦點,因此光標不再存在。試試這個

$('input#tags').keypress(function() { 

    $('#formcont').fadeIn('slow'); 
    $('#next').hide('slow'); 
    $(this).focus(); 
}); 
0

您想要focus event

$('a#next').focus(function() { 
     $('#formcont').fadeIn('slow'); 
    }); 
+0

如果他想在開始打字時發生什麼事情,那麼這不會做他所需要的。 – 2010-03-25 17:05:29

+0

但按鍵會觸發每個按鍵不只是第一個 – 2010-03-25 17:08:38

1

input#tags是多餘的和浪費的。

$('#tags').keypress(function() { 

    $('#formcont').fadeIn('slow'); 
    $('#next').hide('slow'); 
    $(this).focus(); 
}); 
+0

爲什麼???????????? – 2011-12-22 11:53:39

+0

除非你使用jQuery特定選擇器(例如:not()),那麼說「輸入」是浪費的是過度殺傷。 CSS選擇器的編程成本可以忽略不計,只是尋找需要改變的東西來提供一個單獨的答案。 – 2014-01-24 11:46:32

相關問題