emmm,還是上代碼比較清晰點(diǎn),實(shí)在是不知道怎么描述這個(gè)了 //光標(biāo)處插入標(biāo)簽code,動(dòng)態(tài)綁定
$("#tagList").on("click","li",function () {
$(this).unbind("click").click(function () { var selectedTag = $.trim($(this).text());
tmplTagListObj.forEach(function (item, index) { if (item.name == selectedTag) {
$("#tplContent").insertAtCaret("$" + "{" + item.code + "}");
}
})
}) // }
});上面是點(diǎn)擊li標(biāo)簽進(jìn)行一個(gè)文字插值的操作,(insertAtCaret這個(gè)是插值的函數(shù),正常無問題)效果如下圖點(diǎn)擊一下標(biāo)題會(huì)自動(dòng)生成一個(gè)$(title)的占位符,標(biāo)簽?zāi)且粰诳梢詣?dòng)態(tài)添加新的標(biāo)簽原先的做法是直接綁定點(diǎn)擊事件,出現(xiàn)的bug如下:約束就是同一彈出框的標(biāo)簽名不能重復(fù),不同彈框下的標(biāo)簽名可以重復(fù)對(duì)a彈出框添加一個(gè)標(biāo)簽,叉掉a彈框之后,在b彈出框再動(dòng)態(tài)添加一個(gè)名稱相同的標(biāo)簽,點(diǎn)擊一下會(huì)生成兩個(gè)占位符,重復(fù)操作,到了c彈出框就是三個(gè)相同的占位符,以此類推于是改成了問題描述里的寫法,很顯然,這種寫法第一次點(diǎn)擊毫無反應(yīng),一切正常反應(yīng)都從鼠標(biāo)第二次點(diǎn)擊開始我想知道 如何解決第一次點(diǎn)擊不生效的情況?ps:嘗試在外面一層模擬一次點(diǎn)擊事件,不起作用,然后在里面一層模擬一次點(diǎn)擊事件,F(xiàn)12里面打印出很多次的console數(shù)據(jù),同不起作用
jquery on click事件綁定又解綁
慕的地8271018
2018-07-23 21:02:52