捕获动态生成的警报框的单击事件

时间:2015-01-23 09:40:18

标签: php jquery

我正在生成一些Twitter引导警报消息,我想删除我已阅读的那些消息,只留下我想进一步调查的那些消息。

这是我如何生成它们

$a =  $this->session->userdata('identity');
    $ar = trim($a,",");
    $arr = explode(',', $a);
    foreach($arr as $key => $value){
    echo '<div class="cb alert alert-warning"><a href="#" class="close" data-dismiss="alert" data-array-key="'.$key.'">&times;</a><strong>Warning!</strong> '.$value.' </div>' .'<br/>';
    }

这是我的jquery代码

(function ($) {
$( ".close" ).on('click', function() {
alert('close clicked');
});
})(jQuery);

我知道我的代码有效,因为它适用于jsfiddle http://jsfiddle.net/15oar2gr/

为什么我的代码不能用于动态生成的内容?

3 个答案:

答案 0 :(得分:1)

尝试以下活动委派:

$( "body" ).on('click','.close', function() {
   alert('close clicked');
});

答案 1 :(得分:1)

试试这个

$( document ).on('click',".close", function() {
 alert('close clicked');
});

答案 2 :(得分:1)

如果您将点击事件更改为:

$(document).on('click', '.close', function () {});

它会起作用。