2010-03-25 19 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

相关问题