我想做一個簡單的功能,其中用戶從下拉列表中選擇一些值,然後單擊添加按鈕以添加下面的div中選定的項目的標籤。jquery點擊事件沒有觸發使用jquery動態創建的元素
每個添加的標籤都有一個移除錨點,當點擊該標籤時將移除該標籤。
現在當點擊添加按鈕標籤正在正確插入, 但是,當我點擊標籤上的刪除按鈕,點擊事件不會觸發。
但是,如果我使用與動態生成的標記完全相同的標記對一些標記進行了硬編碼,則刪除標記的點擊事件正確地點射並且正在按照我的意願移除標記。
HTML:
<select id="ddlTagName">
<option value="1">Tag One</option>
<option value="2">Tag Two</option>
<option value="3">Tag Three</option>
</select>
<input id="btnInsertTag" type="button" value="Add"/>
<br/>
<div id="TagsHolder">
<span class="tag">
<span>Tag One HardCoded </span>
<a class="remove">X</a>
</span>
<span class="tag">
<span>Tag Two HardCoded </span>
<a class="remove">X</a>
</span>
</div>
JS:
$("#btnInsertTag").click(function() {
var selectedTagText = $("#ddlTagName option:selected").text();
var selectedTagValue = $('#ddlTagName').val();
var generateMarkup = '<span class="tag" data-value="' + selectedTagValue + '"><span>' + selectedTagText + ' </span><a class="remove">X</a></span>';
$("#TagsHolder").append(generateMarkup);
});
$(".remove").click(function() {
alert('click event triggered');
$(this).parent(".tag").remove();
});
我的問題是,爲什麼click事件不點火的動態生成標籤。
這裏是Demo
在此先感謝
Goggled your question title and got this as first result:http://stackoverflow.com/questions/20819501/jquery-click-event-not-working-for-dynamically-created-button –