我正在尝试向通过jQuery追加的元素添加click
事件。
如果我的HTML代码中包含该项,那么click
事件就可以正常运行。我希望代码能更好地解释
HTML
<div id="addNew">Add new Item</div>
<div id="priceWrapper"></div>
<div class="price"></div>
JS
var data;
$('#addNew').click(function () {
$('#priceWrapper').append('<div class="item" data-js="2.5" id="Item" >(I dont work i was not here on load)I AM AN ITEM WICH COSTS 2.5€</div>');
});
$('#Item').click(function () {
data = $(this).attr("data-js");
alert(data);
});
中的示例
感谢您的帮助
答案 0 :(得分:0)
使用jQuery .on
。更多信息here
var data;
$('#addNew').click(function (e) {
e.preventDefault();
$('#priceWrapper').append('<div class="item" data-js="2.5" id="Item" style="background-color:yellow;border-bottom:solid 5px green">(I dont work i was not here on load)I AM AN ITEM WICH COSTS 2.5€</div>');
});
$('body').on('click', '.item', function () {
data = $(this).attr("data-js");
alert(data);
});
这不起作用的原因是因为首先,只有一个 元素一次可以有一个id
。我们必须将其设置为使用类 .item
。另一个问题是,当页面加载时,事件设置为,因此它不会注意到新项目。