Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jQuery中绑定元素时会发生什么?_Jquery - Fatal编程技术网

在jQuery中绑定元素时会发生什么?

在jQuery中绑定元素时会发生什么?,jquery,Jquery,我使用了keyup将输入元素绑定到函数text\u 1。函数通过$(this.val()以某种方式获取文本字段的值 我试图理解这一点,但最好的解释是“这总是指我们正在执行的函数的“所有者”。在这种情况下,“所有者”是什么?$(this).val()如何成为字段的值?发生keyup时传递什么 我是Javascript和jQuery的新手 function text_1() { var val = $(this).val(), html = 'Not-debounced

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

我试图理解这一点,但最好的解释是“这总是指我们正在执行的函数的“所有者”。在这种情况下,“所有者”是什么?
$(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 );
“this”是根据当前上下文和范围设置的。JQuery将为触发事件的元素设置“this”。在本例中,JQuery将设置“this”以指向触发向上键事件的html元素(输入)


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

可能重复
keyup
对它使用的函数做了什么?@aitchnyu。调用或.apply,将元素和规范化事件对象作为参数
yourfunction.call(元素,事件对象)
@aitchnyu-key up获取指向事件处理程序的函数指针。当事件被触发时,它会调用您的函数并适当地设置上下文。@KevinB-好的观点。Call/Apply用于设置上下文,必须习惯jQuery大量使用声明性内容和高阶函数。