我正在使用一些 jQuery 让用户操作图像。用户应该能够双击图像以选择它,然后单击下面出现的一些按钮以调整图像大小或翻转图像。
图像被传递给 image_editor 函数,如下所示:
$('section img').dblclick(function () {
item_editor(this);
});
然后 item_editor 函数如下所示:
var item_editor = function (activeItem) {
var $activeItem = $(activeItem);
// Show border around current activeItem
$('.activeItem').removeClass('activeItem');
$activeItem.addClass('activeItem');
// Flip the selected image when the button's clicked
$('div#flip').click(function () {
$activeItem.toggleClass('flipped');
});
}
我在这里把它放到一个 jsFiddle 中:http: //jsfiddle.net/sarahg/6sE5F/30/
我在这里遇到的问题是“翻转”按钮在您第一次使用时起作用,但是如果您选择不同的图像并尝试翻转该图像,则已经翻转的所有内容都会再次翻转。activeItem 变量不是我想象的那样。
我做了一些搜索,我认为这与 JavaScript 闭包有关,但我无法充分理解它们以使我的代码正常工作。