1
私は、選択されたliをボックス1からボックス2に、ボックス2からボックス1に戻すためにバインドを使用する方法を理解しようとしています。これに固執し、いくつかの助けが必要です。また、「右に移動」をクリックしてliを選択して次のボックスに移動すると、それらはクリックごとにスタックします。どのように私はそれを修正することができます。.bindと.unbindを使ってLIを動かす
コード:
$(document).ready(function(){
$(".box1 ul li").click(function(){
if($(this).hasClass("active-li")==true)
{
$(this).removeClass("active-li");
}
else
{
$(this).addClass("active-li");
}
});
$(".box1 ul li").click(function(){
var x=$(this).data("drink");
$("#btt1").click(function(){
$(".box2 ul").append(x);
$(x).bind("click", bindLi);
});
});
$(x).bind("click", bindLi);
});
function bindLi(){
alert("hello");
}
CSS:
.box1{border:1px solid black; width:200px; height:200px; float:left; margin-top:100px; margin-left:50px;}
.box2{border:1px solid black; width:200px; height:200px; float:left; margin-top:100px; margin-left:100px;}
.button-container{width:80px; height:30px; float:left; margin-top:200px; margin-left:100px;}
.active-li{background-color:yellow;}
ul li:hover{cursor:pointer;}
HTML:
<div class="box1" id="box1">
<ul>
<li data-drink="beer">
Beer
</li>
<li data-drink="water">
Water
</li>
<li data-drink="soda">
Soda
</li>
<li data-drink="juice">
Juice
</li>
</ul>
</div>
<div class="button-container">
<input type="button" id="btt1" name="btt1" value="Move Right" />
<input type="button" id="btt2" name="btt2" value="Move Left" />
</div>
<div class="box2" id="box2">
<ul></ul>
</div>
JSFiddle:
https://jsfiddle.net/fgo455zt/
素晴らしいありがとう!バインドしてバインドを解除すると、より面倒なことになりますか?ありがとう@MattPicca。 –
'$ .bind'と' $ .unbind'は現在のコードを複雑にします。通常、特定の 'event'が他のコードによってブロードキャストされているときに' $ .unbind'を使用します。私たち自身のイベントリスンが実行されるのを避けたいのです。しかし、あなたの場合、要件はかなり異なっています。 – vijayP
さて、私は今参照してください。 @vijayPようこそ、ありがとうございました。 –