在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大量使用声明性内容和高阶函数。