1

これは当たり前のことのように思えるかもしれませんが、見つけられません。サイズ変更可能を使用する場合、画像の新しい幅を保存したいのですが、サイズ変更したばかりの画像の 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") も使用できませんが、 $(this) .width () を使用して新しい幅を確認できるため、非常に奇妙です。

私は何を間違っていますか?draggable() を使用すると、正しい方法で $(this) にアクセスできるようですが、サイズ変更可能ではアクセスできません...何か提案はありますか?

4

3 に答える 3

4

ui パラメータはサイズ変更された要素を保持します

stop: function(event, ui){
 alert(ui.originalElement[0].id);
}
于 2009-11-04T15:17:56.983 に答える
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");
}});
于 2009-11-04T15:14:22.107 に答える
0

あなたの場合、次のstopコードを使用して、コールバック内で ID を取得できます。

$('img.article_image').attr('id');

ただし、これはセレクターを複製しますが、stopコールバック関数によって渡されるパラメーターには、サイズ変更された元のオブジェクトの記録がありません。

于 2009-11-04T15:10:15.307 に答える