Javascript单击函数没有响应

Javascript单击函数没有响应,javascript,jquery,Javascript,Jquery,我有一个简单的脚本,当弹出div显示时,它会在背景上生成图层 jQuery(".openForm").click(function() { jQuery("#popup").show(); jQuery("body").append('<div id="layer"></div>'); }); 不管怎么说,什么都没有发生,甚至没有错误 我猜当您尝试绑定处理程序时,#层不存在。改为使用事件委派: jQuery(document).on('click

我有一个简单的脚本,当弹出div显示时,它会在背景上生成图层

jQuery(".openForm").click(function() {    
    jQuery("#popup").show();
    jQuery("body").append('<div id="layer"></div>');
});
不管怎么说,什么都没有发生,甚至没有错误

我猜当您尝试绑定处理程序时,
#层
不存在。改为使用事件委派:

jQuery(document).on('click', "#layer", function() {    
    jQuery("#popup").hide();
    jQuery("#layer").remove();
});
或者,您可以隐藏/显示
#层
div(如
#弹出窗口
div),而不是每次添加和删除它。

我猜在尝试绑定处理程序时,
#层
不存在。改为使用事件委派:

jQuery(document).on('click', "#layer", function() {    
    jQuery("#popup").hide();
    jQuery("#layer").remove();
});
或者,您可以隐藏/显示
#层
div(如
#弹出窗口
div),而不是每次添加和删除它。

我猜在尝试绑定处理程序时,
#层
不存在。改为使用事件委派:

jQuery(document).on('click', "#layer", function() {    
    jQuery("#popup").hide();
    jQuery("#layer").remove();
});
或者,您可以隐藏/显示
#层
div(如
#弹出窗口
div),而不是每次添加和删除它。

我猜在尝试绑定处理程序时,
#层
不存在。改为使用事件委派:

jQuery(document).on('click', "#layer", function() {    
    jQuery("#popup").hide();
    jQuery("#layer").remove();
});

或者,您可以隐藏/显示
#层
div(如
#弹出窗口
div),而不是每次添加和删除它。

您的HTML是什么样子的?您将在哪里绑定事件?是在元素存在之后吗?您是否有多个具有相同ID的元素(您不能这样做)。可能的重复以及您的HTML是什么样子的?您将在哪里绑定事件?是在元素存在之后吗?您是否有多个具有相同ID的元素(您不能这样做)。可能的重复以及您的HTML是什么样子的?您将在哪里绑定事件?是在元素存在之后吗?您是否有多个具有相同ID的元素(您不能这样做)。可能的重复以及您的HTML是什么样子的?您将在哪里绑定事件?是在元素存在之后吗?是否有多个元素具有相同的ID(您不能这样做)。可能存在的重复项,并且您可能希望在模式关闭后从文档中删除单击处理程序。@Natewley否,在页面加载时绑定一次,那就别管它了。我不喜欢凌乱的html代码,所以我会删除那些只是出于某种原因而没有特定内容的东西。你可能会想在关闭模式后从文档中删除单击处理程序。@natewiley不,在页面加载时绑定一次,那就别管它了。我不喜欢凌乱的html代码,所以我会删除那些只是出于某种原因而没有特定内容的东西。你可能会想在关闭模式后从文档中删除单击处理程序。@natewiley不,在页面加载时绑定一次,那就别管它了。我不喜欢凌乱的html代码,所以我会删除那些只是出于某种原因而没有特定内容的东西。你可能会想在关闭模式后从文档中删除单击处理程序。@natewiley不,在页面加载时绑定一次,我不喜欢凌乱的html代码,所以我删除了一些只是出于某种原因而没有具体内容的东西。