2015-12-05 65 views
0

我按照以下方式編輯了一個字符串,並使用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); 
} 
+0

還有你的代碼只是一個字符串。它沒有插入到可點擊的DOM中。而且,你必須在插入DOM之後運行'($。「blue」)。(...)'或者切換到使用[委託事件處理](http://stackoverflow.com/questions/9814298) /不-jquery的上工作換元件 - 即-被添加-後的,事件處理程序-是-CRE/9814409#9814409)。 – jfriend00

+0

我忘了在代碼中插入字符串:請現在看看。 – SctALE

+0

它被插入到DOM後,給定的答案將工作 – Andy

回答