这可能看起来很明显,但我找不到它。使用resizable时,我想保存图像的新宽度,但是如何访问刚刚调整大小的图像的ID属性?这是我的代码:
$('img.article_image').resizable({
aspectRatio: true,
handles: "se",
stop: function(event, ui){
// Here I want to access the ID attribute
// of the img.article_image I am resizing
}});
所以,ui对象有ui.helper,我无法使用。即ui.helper.attr(“id”)或$(ui.helper).attr(“id”)都是未定义的。我也不能使用$(this).attr(“id”),但我 CAN 使用$(this).width()来查看新的宽度,所以这很奇怪。
我做错了什么?当使用draggable()时,我似乎能够以正确的方式访问$(this),但不能使用可调整大小的...任何建议?
答案 0 :(得分:4)
ui参数包含调整大小的元素
stop: function(event, ui){
alert(ui.originalElement[0].id);
}
答案 1 :(得分:1)
我没有使用可调整大小的插件,但是如果它遵循与内置jQuery事件相同的指导原则,则this
将是对受影响的DOM元素的引用。所以你可以得到一个像这样的jQuery包装对象:
$('img.article_image').resizable({
aspectRatio: true,
handles: "se",
stop: function(event, ui){
var img = $(this);
var id = img.attr("id");
}});
答案 2 :(得分:0)
在您的情况下,您可以使用以下代码获取stop
回调中的ID:
$('img.article_image').attr('id');
然而,这将复制选择器,但stop
回调函数传递的参数没有调整大小的原始对象的记录。