为什么我的jQuery keydown功能仅适用于第一个输入元素

时间:2010-08-15 19:36:46

标签: javascript jquery

我已经构建了一个小的jQuery脚本,它为我正在编写的输入字段添加了一个类。但是它只适用于在第一个输入字段中写入内容之后的所有输入字段,请参阅dev.resihop.nu例如。

代码:

$('.field').keydown(function () {
  if ($('.field').val() !== 'Ort, gata eller kommun') {  
    $(this).addClass("focus");
  };
});

2 个答案:

答案 0 :(得分:8)

这是因为你再次使用$('.field').val()抓取元素。将其更改为:

$('.field').keydown(function () {
  if ($(this).val() !== 'Ort, gata eller kommun') {  
    $(this).addClass("focus");
  };
});

答案 1 :(得分:3)

$('.field').val()返回与.field匹配的第一个字段的值。您必须使用$(this).val()来获取实际触发事件的元素的值。