user2051921
user2051921

Reputation: 25

Adding Event Listener to dynamically created divs

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!

Upvotes: 2

Views: 3660

Answers (3)

Kazekage Gaara
Kazekage Gaara

Reputation: 15052

Change

listDiv.addEventListener = ('click',gotoOutcomesLO, false);

to

listDiv.addEventListener('click',gotoOutcomesLO, false);

Upvotes: 6

ZeroWorks
ZeroWorks

Reputation: 1638

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...

Upvotes: 2

Pratik Parekh
Pratik Parekh

Reputation: 447

Here is javascript click event

var listDiv = document.createElement("div");
listDiv.className = "list";
listDiv.onclick = function(){
   alert('onclick fired')
}

Upvotes: 0

Related Questions