jQuery resizable(),访问原始对象

时间:2009-11-04 15:03:49

标签: jquery resizable

这可能看起来很明显,但我找不到它。使用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),但不能使用可调整大小的...任何建议?

3 个答案:

答案 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回调函数传递的参数没有调整大小的原始对象的记录。