Javascript 通过JQuery选项对象传递值
我在理解回调函数如何工作时遇到了问题 我正在使用JCrop在一个页面上裁剪许多图像。JCrop是在这样一种印象下编写的,即可能只有一个图像需要裁剪: jQuery(函数() {Javascript 通过JQuery选项对象传递值,javascript,jquery,callback,Javascript,Jquery,Callback,我在理解回调函数如何工作时遇到了问题 我正在使用JCrop在一个页面上裁剪许多图像。JCrop是在这样一种印象下编写的,即可能只有一个图像需要裁剪: jQuery(函数() { CropMe.Jcrop //CropMe is the class holding the image ({ aspectRatio: 1, onSelect: updateCoords
CropMe.Jcrop //CropMe is the class holding the image
({
aspectRatio: 1,
onSelect: updateCoords
});
}
});
当它通过“onSelect”更新坐标时,它会输出函数“updateCoords”中的坐标
“以便在以后提交时以表格形式阅读:
函数updateCoords(c)
{
CropMe.Jcrop //CropMe is the class holding the image
({
aspectRatio: 1,
onSelect: updateCoords
});
}
});
$('.x').val(c.x)
$('.y').val(c.y)
$('w').val(c.w)
$('.h').val(c.h);
}
问题是,我在一个类下实例化了许多jcrop,而不是一个特定的id。因此,当调用updateCoords时,它不知道要更新哪些x、y、w、h值
如何通过option对象传递参数(特别是CropMe),以便更改4个相关值
相关代码:
然后,updatewords
看起来像:
function updateCoords(c, cropMeObject) {
// cropMeObject is the CropMe object
}
如果希望
this
关键字引用使用闭包的CropMe对象,则应该可以:
CropMe.Jcrop //CropMe is the class holding the image
({
aspectRatio: 1,
onSelect: (function(c) { return updateCoords(c); })(c,this);
});
现在在function UpdateCords中,您可以参考
这个
,非常感谢Alex。工作非常完美。