我有一个使用 FB javascript SDK 通过 ajax 加载图片的应用程序。一切正常,但是当用户点击图片并成功上传时,我想取消点击它,这样用户就无法再次上传。
该函数如下所示:
function postImage(fbimgurl, token, obj) {
obj.click(false); //I think this should turn off clicking but it does not
$.ajax({
//ajax code here. This works fine
}
它最初是在页面加载时 Facebook 连接成功时绑定的:
FB.getLoginStatus(function (response) {
if (response.status =='connected') {
var fbaccesstoken = response.authResponse.accessToken;
$('.pic').each(function(){
var picurl = $(this).attr('fullurl');
$(this).on('click', function() { postImage(picurl, fbaccesstoken, $(this)) });
});
}
我怀疑在上传图像后再次调用“已连接”响应,因此它重新绑定了 postImage 函数。我对么?我试图将此函数绑定到脚本中其他地方的图片 div,但它似乎只有在我将它放在 Facebook 响应中时才有效,可能是因为访问令牌或其他一些我不明白的异步内容。当函数成功时,解除绑定这个对象的最好方法是什么,所以它不能被重新点击?