Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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_Html - Fatal编程技术网

如何防止javascript冒泡

如何防止javascript冒泡,javascript,jquery,html,Javascript,Jquery,Html,我说的是Jquery。比如说,我有一个按钮,我点击了它,一个新的div被动态创建。我再次单击并创建了另一个div。这样我就创建了3个div 每个新创建的div还动态创建一个按钮,单击该按钮我希望得到警报(“某物”) 问题是,当我单击第一个div(新建div)的按钮时,我会收到3次警报,当我单击第二个div(新建div)的按钮时,我会收到2次警报。对于每一次单击,我只想获得一次警报。但我面临的是Javascript冒泡* 我的Javascript和HTML代码: $(“#btn11”)。单击(函

我说的是Jquery。比如说,我有一个按钮,我点击了它,一个新的div被动态创建。我再次单击并创建了另一个div。这样我就创建了3个div

每个新创建的div还动态创建一个按钮,单击该按钮我希望得到警报(“某物”)

问题是,当我单击第一个div(新建div)的按钮时,我会收到3次警报,当我单击第二个div(新建div)的按钮时,我会收到2次警报。对于每一次单击,我只想获得一次警报。但我面临的是Javascript冒泡*

我的Javascript和HTML代码:

$(“#btn11”)。单击(函数(){
var nw=“
”; nw+=“添加类别”; nw+=”; $(“#apnd1”)。追加(西北); $(“.btn12”)。单击(函数(){ 警报(“jhfj”); }); });


添加产品
不要将事件绑定到其他事件中。你可以把它绑在外面。因为它是动态创建的,所以需要使用委托来绑定事件。那么您将不会收到多个警报

$("#btn11").click(function() {
    var nw = "<div class='product_input'><input type='text'/><br/>";
    nw += "<button type='button' class='btn12'>Add category</button>";
    nw += "</div>";
    $("#apnd1").append(nw);
});
$("#apnd1").on("click", ".btn12", function() {
    alert("jhfj");
});
$(“#btn11”)。单击(函数(){
var nw=“
”; nw+=“添加类别”; nw+=”; $(“#apnd1”)。追加(西北); }); $(“#apnd1”)。在(“单击”上,“.btn12”,函数(){ 警报(“jhfj”); });

不要将事件绑定到其他事件中。你可以把它绑在外面。因为它是动态创建的,所以需要使用委托来绑定事件。那么您将不会收到多个警报

$("#btn11").click(function() {
    var nw = "<div class='product_input'><input type='text'/><br/>";
    nw += "<button type='button' class='btn12'>Add category</button>";
    nw += "</div>";
    $("#apnd1").append(nw);
});
$("#apnd1").on("click", ".btn12", function() {
    alert("jhfj");
});
$(“#btn11”)。单击(函数(){
var nw=“
”; nw+=“添加类别”; nw+=”; $(“#apnd1”)。追加(西北); }); $(“#apnd1”)。在(“单击”上,“.btn12”,函数(){ 警报(“jhfj”); });

用于相同用途

$(文档).ready(函数(){
$(“#btn11”)。单击(函数(){
var nw=“
”; nw+=“添加类别”; nw+=”; $(“#apnd1”)。追加(西北); }); $(文档).on('click',“.btn12”,函数(){ 警报(“jhfj”); }); });
用于相同的

$(文档).ready(函数(){
$(“#btn11”)。单击(函数(){
var nw=“
”; nw+=“添加类别”; nw+=”; $(“#apnd1”)。追加(西北); }); $(文档).on('click',“.btn12”,函数(){ 警报(“jhfj”); }); });
不要每次都绑定…我是否应该解除第一次单击事件的绑定?怎么做?可能是重复的@David,我搜索了类似的问题,但没有得到,所以请不要每次都绑定…我应该解除第一次单击事件的绑定吗?怎么做?可能是重复的@David,我搜索了类似的问题,但没有得到,所以被问到读了问题并定义了一个合适的选择器(“apnd1”)。投票结果是读了问题并定义了一个合适的选择器(“apnd1”)。