无法使用jQuery来定位元素,即使它可以在浏览器中选择

时间:2014-11-20 20:21:08

标签: jquery target

On my page页面中央有5个白色圆形按钮。单击它们中的任何一个都会显示一个模态窗口,其中包含一个"关闭"它底部的按钮。该按钮的标记是:

<a href='#'class='button modal_close'>Close</a>

我试图附加的JS代码是:

$('.modal_close').on('click', function() {  
    alert('test');
});

然而,单击此按钮不会触发任何警报,也不会在Firebug中创建任何JS错误。我可以使用相同的结果来定位模态窗口的子部分。只有我定位整个模态容器才有效。

导致此问题的原因是什么?

2 个答案:

答案 0 :(得分:0)

你需要在元素存在之后将click事件监听器附加到元素上(我猜测在模态存在之前,.on附件发生在onLoad上)。尝试在打开模式的代码中附加click事件侦听器(在创建元素之后)。

答案 1 :(得分:0)

实际上,模态内容是动态生成的,在这种情况下,常规绑定方法失败。我通过这样做来解决问题:

$(document).on('click','.modal_close',function(){

而不是:

$('.modal_close').on('click', function() {