Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在动态创建的元素上绑定函数_Javascript_Jquery - Fatal编程技术网

Javascript 无法在动态创建的元素上绑定函数

Javascript 无法在动态创建的元素上绑定函数,javascript,jquery,Javascript,Jquery,我正在用javascript创建一个简单的购物车,一个没有按钮的购物车会是什么样的呢 购物车是用javascript动态创建的,因此页面加载时不存在元素。然而,这不应该是一个问题吗 $(".removeFromCart").on("click",function(e){ alert("GO AWAY PLEASE.."); var tuoteID = $(this).attr("data-id"); deleteFromCart(tuoteID); }); 元素(动态创

我正在用javascript创建一个简单的购物车,一个没有按钮的购物车会是什么样的呢

购物车是用javascript动态创建的,因此页面加载时不存在元素。然而,这不应该是一个问题吗

$(".removeFromCart").on("click",function(e){
    alert("GO AWAY PLEASE..");
    var tuoteID = $(this).attr("data-id");
    deleteFromCart(tuoteID);
});
元素(动态创建)的外观如下所示:

<a href="#" class="removeFromCart" data-id="2">×</a>

但它不会触发。如果我将
.replaceFromCart
替换为,例如,
p
,则每次单击段落时都会触发


这不是我第一次遇到
.on()
的问题,而且总是需要我一半的头发才能解决,所以也许有经验的人可以告诉我我做错了什么

您需要使用其他版本的jQuery函数进行事件委派。您必须在执行绑定代码时提供存在的静态父级,或者您可以委托给
body
document

$(document).on("click",".removeFromCart", function(e){
    alert("GO AWAY PLEASE..");
    var tuoteID = $(this).attr("data-id");
    deleteFromCart(tuoteID);
});
委派事件的优点是,它们可以从中处理事件 以后添加到文档中的子元素。通过 选择一个元素,该元素保证在 已附加委派事件处理程序,您可以使用委派事件 避免频繁附加和删除事件处理程序


非常感谢。没有stackoverflow我会在哪里…@Christian On jQueryDocs@Mr.Alien在jQuery文档中,我看到了****的文本,其中充满了我不会经常遇到的单词。它有很多例子,但很少能找到一个我可以直接使用的例子;)这个问题被问了很多次,我都记不清了。@PatsyIssa可能吧,但英语不是我的母语,所以要找到正确的单词来获得正确的结果并不是那么容易。我确实在
.live()
或类似的工具中找到了一些解决方案。在你写问题时,请注意这些问题,以便为类似的问题提供建议^^