答え:
/* I bound the events via the parent instead of binding it
on each span tag individually. this allowed me to manipulate
the span tags uniquely. ( thank you Jason P ) */
$( '.selected-option-wrapper' ).on( 'click', 'span', function() { });
免責事項:
私は私の心を失っています。
詳細:
html
ユーザーがドロップダウンで選択したオプションをまとめてリストしようとしていますul/li
。ユーザーが a をクリックしてli a
、 a タグ内に html の一部を配置し、別のdiv
.
例えば:
html
// html within the li tag that I want cloned over
<a id="met" class="item-1" href="#">
<div class="left check-wrapper">
<span class="gicon-ok"></span>
</div>
<div class="hide item-display"> // exact element to be moved over
<span class="gicon-remove-sign left remove-option-item"></span>
<div class="left">Metallic Thread</div>
</a>
JavaScript
$( '.options' ).find( 'a' ).on( 'click', function( e ) {
ind_option_html = $( this ).find( '.item-display' ).clone();
/* attach a click event to the span tag */
ind_option_html.find( 'span' ).on( 'click', function() {
console.log( this );
});
/* this is in a $.each loop that appends each new ind_option_html */
$( '.selected-option-wrapper' ).show().append( ind_option_html );
});
問題
1つだけクリックするとli a
、関数が正常に起動this
し、span
タグがログアウトされます。しかし驚くべきことは、ユーザーが別li a
のタグをクリックすると、click
イベントが最新のspan
タグにのみ配置されることです。
最初のタグonclick
でイベントはどこに行きますか?span