问题
I am trying to add click event listener to my divs that I am creating in my JS dynamically.
My Javascript snippet of function that is called each time to create the Div:
var listDiv = document.createElement("div");
listDiv.className = "list";
listDiv.addEventListener = ('click',gotoOutcomesLO, false);
The Function that is called by the click event:
function gotoOutcomesLO(e){
if(typeof(Storage)!=="undefined"){
var ele = e.target;
var text = ele.getAttribute("name");
sessionStorage.test = text;
}
}
I don't see any click events added to my HTML and not sure what's wrong. Any pointers would be helpful! Thanks!
回答1:
Change -
listDiv.addEventListener = ('click',gotoOutcomesLO, false);
to
listDiv.addEventListener('click',gotoOutcomesLO, false);
回答2:
addEventListener is a function remove equal:
var listDiv = document.createElement("div");
listDiv.className = "list";
listDiv.addEventListener('click', gotoOutcomesLO, false);
function gotoOutcomesLO(e) {
if(typeof(Storage)!=="undefined") {
var ele = e.target;
var text = ele.getAttribute("name");
sessionStorage.test = text;
}
}
Also I guess you append listDiv to a node...
回答3:
Here is javascript click event
var listDiv = document.createElement("div");
listDiv.className = "list";
listDiv.onclick = function(){
alert('onclick fired')
}
来源:https://stackoverflow.com/questions/23881804/adding-event-listener-to-dynamically-created-divs