今天我正在使用此代码。
$("#textBox").on("keyup", function () {
//if (this.val().length > 4);
if ($("#textBox").val().length > 4)
console.log("TextBox written to.");
});
然而,我有点困扰我,我正在使用对文本框的id的硬编码引用。我宁愿将它称为“任何人调用此事件处理程序”。当然这个不起作用(我的猜测是它指的是函数本身或类似的东西。
答案 0 :(得分:2)
不,$(this)
应该有用。 jQuery保证this
将成为对所作用对象的引用。
但是,在您的情况下,this
是DOMNode。您需要将其包装在jQuery对象中才能访问特定于jQuery的函数val
。您可以执行$(this).val()
或this.value
。
答案 1 :(得分:1)
使用'this'作为选择器:
$("#textBox").on("keyup", function () {
if ($(this).val().length > 4)
console.log("TextBox written to.");
});
答案 2 :(得分:1)
这肯定会有效:
if (this.value.length > 4)
this
在这里指的是附加处理程序的DOM元素。匿名回调函数为其创建特定的上下文。