我有一段代码运行良好,但我无法理解它背后的想法,因此感谢您的帮助。
在下面的函数中,bind(this)
函数在代码末尾做了什么?我已经搜索了很多 SO 和 JQuery 文档,但找不到任何这样的用法。try 将函数连接到事件的所有用法,bind()
但这里 bind 在函数之后调用并传递一个 JQuery 对象(在这种情况下是一个 img 标记)。提前致谢。
function refreshCaptcha() {
var currCaptcha = $('#captcha-div img');
currCaptcha.animate({
opacity: 0.3
}, 300);
$.getJSON("/captcha.json", function (data) {
var src = $("#captcha-template").html();
var template = Handlebars.compile(src);
var newSrc = template(data);
var srcDom = $(newSrc);
srcDom.eq(0).css('opacity', 0).load(function() {
currCaptcha.animate({
opacity: 0
}, 250, function() {
$("#captcha-div").html(srcDom);
$(this).animate({
opacity: 1
}, 250);
}.bind(this));
});
});
}