アイコンを最終的にクリック可能にしたいので、アイコンを:after
表示するために包含要素で使用するという私の腸の意図を避けます。代わりに、div
ドラッグ可能な画像とアイコンの両方を含む単純なラッパーを使用します。
<div class="draggable-image">
<img src="http://placekitten.com/100/100" />
<img src="help.png" class="icon" />
</div>
次に、コンテナのスタイルをinline-block
設定して、子の幅(およびほとんどの場合は高さ)と一致するようにしimg
ます。これは、コンテナ内にアイコンを配置する良い機会でもあります。
.draggable-image {
position: relative;
display: inline-block;
}
.draggable-image img.icon {
position: absolute;
top: 10px;
right: 10px;
}
これで、ドラッグ可能なイベントをバインドしてui.helper
、さまざまなドラッグ可能なメソッドに提供されたオブジェクト内からドラッグ可能な画像を参照できます。
$(".draggable-image").draggable({
stop: function( event, ui ) {
alert( $("img:first", ui.helper).attr("src") );
}
});
:first
画像を避けて画像にアクセスしていることに注意してください.icon
。最後に、クリックロジックをバインドして、クリックし.icon
たユーザーに反応できるようにします。
$(".draggable-image .icon").on("click", function(){
alert( "You've clicked the icon" );
});
デモ: http: //jsbin.com/ihugas/3/edit