Eff*_*mas 6 javascript tags jquery
我试着弄清楚如何在使用insertBefore函数jQuery后更新元素LI.
问题是在向UL添加任何新元素后,我无法删除相同的元素,(使用emailTagRemove).
请参阅演示以查看问题:http: //jsfiddle.net/HsRfH/
<div class="content">
<span class="">Please, insert one or more emails: </span>
<br />
<ul id="ulEmailsCotacao" class="ulEmailsCotacao">
<li class="liEmailTagNew">
<input type="text" class="emailInputTag" name="" value="" />
</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
//if enter, tab or space, add new value
$('.emailInputTag').keydown(function (e) {
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
if (key === 13 || key === 9 || key === 32) {
addEmail();
}
});
addEmail = function () {
var email = $('.emailInputTag').val().trim();
$('<li class="liEmailTagChoiced">' + email + '<a id="del" class="emailTagRemove">x</a></li>').insertBefore('.liEmailTagNew');
$('.emailInputTag').val("");
};
$('.emailTagRemove').click(function () {
var email = $(this).parents("li");
email.remove();
});
Run Code Online (Sandbox Code Playgroud)
dsg*_*fin 15
由于要动态添加/删除元素,您需要为此使用事件委派:
$('.content').on('click', '.emailTagRemove', function () {
var email = $(this).parents("li");
email.remove();
});
Run Code Online (Sandbox Code Playgroud)
用.content,因为它比使用更有效,因为选择document在这种情况下.
| 归档时间: |
|
| 查看次数: |
31833 次 |
| 最近记录: |