单击动态生成的跨度

Sct*_*ALE 0 jquery events dynamic

我用以下方式编辑了一个字符串,使用2个数字和一个带跨度的类来包装它。之后,在单击具有该类的元素之后,我想执行一些操作。以下代码不起作用。为什么?

var str="Hello, how are you?";
var start=2;
var end=5;
str=wrap(str,start,end);

$("#somewhere").html(str);

$(".blue").on("click",function(){
    alert("done");
});

function wrap(str,start,end) {
    var sx=str.substring(0,start);
    var wr=str.substring(start,end);
    var dx=str.substring(end,str.length);
    var ret=sx+"<span class='blue'>"+wr+"</span>"+dx;
    return(ret);
}
Run Code Online (Sandbox Code Playgroud)

Moh*_*sef 6

您可以使用

$('body').on('click', 'span.blue' , function(){})
Run Code Online (Sandbox Code Playgroud)

看一下动态创建的元素上的事件绑定?