2 つのリストがあります。1 つ目は左側に、2 つ目は右側に表示されます。左側の要素をクリックすると、その要素が削除され、右側のリストの前に追加されます (逆のアクション)。
これは私のhtmlです:
<div class="cont">
<div id="groupL" class="innDiv">
<div id="1" class="aaaL">Value 1</div>
<div id="2" class="aaaL">Value 2</div>
</div>
<div id="groupR" class="innDiv">
<div id="4" class="aaaR">Value 4</div>
<div id="3" class="aaaR">Value 3</div>
</div>
</div>
ジャバスクリプトのソースです。
var clickLtoR = function(n){
_this = $('#'+n);
$('#groupR').prepend('<div class="aaaR" id="'+n+'">'+_this.html()+'</div>');
_this.remove();
}
var clickRtoL = function(n){
_this = $('#'+n);
$('#groupL').prepend('<div class="aaaL" id="'+n+'">'+_this.html()+'</div>');
_this.remove();
}
$('.aaaL').click(function(){
clickLtoR($(this).attr("id"));
});
$('.aaaR').click(function (){
clickRtoL($(this).attr("id"));
});
たとえば「Value1」をクリックすると、この div を右に移動する必要があります。
動作します..しかし、同じ要素をもう一度クリックすると、たとえば、前の例の「値1」に従って、これには関連付けられたクリックイベントがなく、左側のリストに戻りません。
この問題を解決し、「新しい要素」のクリックをバインドするにはどうすればよいですか?
ここでは、JSFiddle http://jsfiddle.net/uw446/1/の作業コード