每次单击添加图标时,javascript文件中的addFunction()都会调用。每次函数调用时,它都会将click函数附加到无序列表中。
为了避免附加我使用.one而不是.on的多个点击功能,但这种方法无效。
HTML:
ul#classesAndSubjectsList
each value, index in user.classesAndSubjects
li !{value}
a.ml-4#classesAndSubjects(href='javascript:;')
i.fa.fa-plus(aria-hidden="true")
使用Javascript:
addFunction = function() {
const txt = prompt(promptMsg1, promptMsg2);
if (!(txt == null || txt == "")) {
const i = document.createElement("i");
i.classList.add("fa");
i.classList.add("fa-times");
i.classList.add('red-cross');
const a = document.createElement("a");
a.classList.add("ml-4");
a.append(i);
const t = document.createTextNode(txt)
const newItem = document.createElement("li");
newItem.append(t);
newItem.append(a);
var final = $("ul#classesAndSubjectsList");
// No idea why .one is not working
final.one('click', 'li a', function () {
//other code
});
$(final).append(newItem);
}
}
$("a#classesAndSubjects").click(function(){
addFunction();
});