如果输入长度> 1,则启动功能3个字符

时间:2011-11-06 19:49:24

标签: jquery

第1部分:我希望.highlight()函数仅在输入长度大于3时才处于活动状态。在3个字符后,我希望每次按键都能查找此值并应用.highlight()函数(使用静态值时工作正常)。我在页面功能中使用它作为查找。

所以这就是我尝试过的,但没有成功:

<script type="text/javascript">

$(document).ready(function() {
  if($("#search_doc_input").length > 3) {
    $('#search_doc_input').keydown(function() {
      $(body).highlight($(this).val()); 
    });
  }
});

</script>

第2部分:此外,一旦突出显示功能对某个值有效,最好的方法是滚动到添加的新<span class="highlight">的第一个实例(其中是.highlight()函数的用途吗?

4 个答案:

答案 0 :(得分:5)

答案 1 :(得分:3)

if($("#search_doc_input").length > 3)实际上会检查是否有超过3个与你的选择器匹配的dom元素,这是一个id,所以永远不会发生。

您可能希望查看输入中值的长度,如下所示:

if($("#search_doc_input").val().length > 3)

答案 2 :(得分:1)

我认为你的问题是在调用highlight之前应该在keydown内进行长度检查。

如果长度小于3,那么当前keydown的方式就不会被连接起来。当你加载页面时,这可能是正确的

答案 3 :(得分:0)

您需要将所有逻辑放在keyup事件处理程序中。

要检查页面加载,请在添加处理程序后立即调用keyup()以立即运行它。