0

今天我正在使用这个代码。

$("#textBox").on("keyup", function () {
  //if (this.val().length > 4);
  if ($("#textBox").val().length > 4)
    console.log("TextBox written to.");
});

但是,我对文本框的 id 使用硬编码引用有点困扰。我更愿意将其称为“调用此事件处理程序的人”。当然不起作用(我的猜测是它指的是函数本身或类似的东西。

  1. 我怎么称呼“谁……”?
  2. 那里指的是什么
4

3 回答 3

2

不,$(this)应该工作。jQuery 保证这this将是对所作用对象的引用。

但是,this在您的情况下是 DOMNode。您需要将其包装在 jQuery 对象中才能访问 jQuery 特定功能val。您可以选择$(this).val()this.value

于 2013-07-10T07:40:14.833 回答
1

使用 'this' 作为选择器:

$("#textBox").on("keyup", function () {
  if ($(this).val().length > 4)
    console.log("TextBox written to.");
});
于 2013-07-10T07:40:51.680 回答
1

这肯定会起作用:

if (this.value.length > 4)

this此处指的是附加处理程序的 DOM 元素。匿名回调函数为此创建了特定的上下文。

于 2013-07-10T07:41:39.467 回答