回答:
/* 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
下拉列表选择的选项。我希望用户单击 ali 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 );
});
问题
每当我单击一个li a
功能时,该功能就会正常触发,this
标签span
的 就会被注销。但令人惊奇的是,当用户单击另一个事件时li a
,该click
事件仅放置在最近的span
标签上。
第一个标签的onclick
事件在哪里?span