当我们在jQuery中绑定一个元素时会发生什么?

时间:2014-02-18 15:23:41

标签: jquery

我使用keyup将输入元素绑定到函数text_1。该函数以某种方式通过$(this).val()获取文本字段的值。

我试图理解this,但最好的解释是“这总是指我们正在执行的功能的”所有者“。在这种情况下,“所有者”是什么? $(this).val()如何成为该领域的价值? keyup发生时会传递什么?

我是Javascript和jQuery的新手。

   function text_1() {
     var val = $(this).val(),
       html = 'Not-debounced AJAX request executed: ' + text_counter_1++ + ' times.'
       + ( val ? ' Text: ' + val : '' );

     $('#text-type-1').html( html );
   };

   $('input.text').keyup( text_1 );

1 个答案:

答案 0 :(得分:2)

“this”基于当前上下文和范围设置。 JQuery会将“this”设置为触发事件的元素。在这种情况下,JQuery将“this”设置为指向触发key up事件的html元素(输入)。

通过执行$(this) - 您正在使用JQuery对象包装当前设置为此的html元素,因此您可以在搜索输入上调用.val()。