use*_*762 2 javascript jquery this-pointer
我想将$(this)传递给函数,但我不确定.有一个类似的线程,但我仍然无法使其工作.我希望有人可以帮助我.
$(document).ready(function() {
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
$('input').keyup(function() {
delay(function(){
alert($(this).val());
}, 1000 );
});
});
Run Code Online (Sandbox Code Playgroud)
你应该保存对此的引用:
$('input').keyup(function() {
var $this = $(this);
delay(function(){
alert($this.val());
}, 1000 );
});
Run Code Online (Sandbox Code Playgroud)
另一个选择是重新绑定this到该函数:
$('input').keyup(function() {
delay(function(){
alert($(this).val());
}.bind(this), 1000 );
});
Run Code Online (Sandbox Code Playgroud)