それぞれのラベルをクリックした際にテキストを変更するスクリプトを作ろうと思ってい調べたところ以下のコードで実現できたのですが、ループの中の.on("click", { value: i + 1 }, onClick)の部分がどういう意味なのかと、途中で出てくるe.data.valueの部分が何を表しているのかが調べてもイマイチわかりませんでした。
どういう原理で動いているのか詳しく理解したく思い質問させていただきました。
ご教授していただけると助かります。
html
1 <p>色を選択してください<span class="color-text">カラー</span></p> 2<div class="color"> 3<input type="radio" id="check-color1" name="check-color" /> 4<label class="check-color-item" for="check-color1"></label> 5 6<input type="radio" id="check-color2" name="check-color"/> 7<label class="check-color-item" for="check-color2"></label> 8 9<input type="radio" id="check-color3" name="check-color"/> 10<label class="check-color-item" for="check-color3"></label> 11 12<input type="radio" id="check-color4" name="check-color"/> 13<label class="check-color-item" for="check-color4"></label> 14</div>
javascript
1for (var i = 0; i < 4; i++) { 2 $(".check-color-item").eq(i).on("click", { value: i + 1 }, onClick); 3} 4function onClick(e) { 5 if(e.data.value == 1){ 6 $(".color-text").text('b'); 7} else if(e.data.value == 2){ 8 $(".color-text").text('r'); 9}else if(e.data.value == 3){ 10 $(".color-text").text('g'); 11}else if(e.data.value == 4){ 12 $(".color-text").text('y'); 13} 14} 15
回答2件
あなたの回答
tips
プレビュー