Add data to dynamically created element and bind event

stiller_leser

I'm trying to bind a click-event to a dynamically created element. Since I need to identify the exact element later after it was clicked, I'm trying to save attach an ID to it. Currently it looks like this:

var li = '<li class="item" data-type=' +$(this).attr("type")+' data-path="file://'+$(this).attr("path")+'" data-id="'+$(this).attr("id")+'">' + $(this).attr('name') + "</li>";
$(li).bind("click", {id : $(this).attr("data-id")}, function(event){
    console.log("ID: " + event.data.id);
});
$("#playlistfiles").append(li);

Unfortunately nothing happens if the element is clicked. I'm aware that this might be a duplicate, but after searching for awhile, I wasn't able to solve the problem.

Cheers, stiller_leser

undefined

That's because you create a jQuery object but don't use it. You can use .appendTo() method.

$(li).bind("click", {id : $(this).attr("data-id")}, function(event){
    console.log("ID: " + event.data.id);
}).appendTo('#playlistfiles');

Or:

var $li = $(li).bind("click", {id : $(this).attr("data-id")}, function(event){
    console.log("ID: " + event.data.id);
});

$("#playlistfiles").append($li);

Why this happens?

li is a a string, by passing the string to the jQuery an unique object is created, $(li) returns a jQuery object, .bind() adds a handler and then like many other jQuery methods returns the current collection, the returned value is a jQuery object that actually is discarded since you don't store the retuned value and .append(li) only appends the original string not the created object.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Bind Bootstrap tooltip to dynamically created SVG element with d3

From Dev

Bind Angularjs to newly created html element dynamically

From Dev

Bind dynamically created element to complex mvc model in view

From Dev

Add Event Listener for dynamically created particular element using jquery

From Dev

Unable to bind function on dynamically created element

From Dev

How to add an element and bind an event to it?

From Dev

Jquery click event not firing on the element created dynamically using jquery

From Dev

bind a click event only once for dynamically created elements

From Dev

How to bind a Jquery scroll event to a dynamically added element?

From Dev

jQuery Tooltip event not firing on dynamically created element

From Dev

Add data attributes to dynamically created button jQuery

From Dev

How to add event to element created with js?

From Dev

jQuery event not triggering on dynamically created element

From Dev

Dynamically created element not firing click event

From Dev

bind dynamically created controls to datatable's data

From Dev

Dynamically Created Element and event

From Dev

Binding event to dynamically created element

From Dev

How to bind click event to element is created on click event?

From Dev

jQuery Tooltip event not firing on dynamically created element

From Dev

jQuery - Add click event to a dynamically created element

From Dev

Why does this dynamically created element not bound to an event?

From Dev

Bind function to dynamically created element

From Dev

Dynamically created element not firing click event

From Dev

Dojo - add event listener to dynamically created element

From Dev

jquery - add event listener to dynamically created button

From Dev

Add event listener to dynamically created button

From Dev

Event Binding on Dynamically Created Element

From Dev

How to add event listener to element created dynamically within prototype?

From Dev

jquery listen to click event on dynamically created element

Related Related

  1. 1

    Bind Bootstrap tooltip to dynamically created SVG element with d3

  2. 2

    Bind Angularjs to newly created html element dynamically

  3. 3

    Bind dynamically created element to complex mvc model in view

  4. 4

    Add Event Listener for dynamically created particular element using jquery

  5. 5

    Unable to bind function on dynamically created element

  6. 6

    How to add an element and bind an event to it?

  7. 7

    Jquery click event not firing on the element created dynamically using jquery

  8. 8

    bind a click event only once for dynamically created elements

  9. 9

    How to bind a Jquery scroll event to a dynamically added element?

  10. 10

    jQuery Tooltip event not firing on dynamically created element

  11. 11

    Add data attributes to dynamically created button jQuery

  12. 12

    How to add event to element created with js?

  13. 13

    jQuery event not triggering on dynamically created element

  14. 14

    Dynamically created element not firing click event

  15. 15

    bind dynamically created controls to datatable's data

  16. 16

    Dynamically Created Element and event

  17. 17

    Binding event to dynamically created element

  18. 18

    How to bind click event to element is created on click event?

  19. 19

    jQuery Tooltip event not firing on dynamically created element

  20. 20

    jQuery - Add click event to a dynamically created element

  21. 21

    Why does this dynamically created element not bound to an event?

  22. 22

    Bind function to dynamically created element

  23. 23

    Dynamically created element not firing click event

  24. 24

    Dojo - add event listener to dynamically created element

  25. 25

    jquery - add event listener to dynamically created button

  26. 26

    Add event listener to dynamically created button

  27. 27

    Event Binding on Dynamically Created Element

  28. 28

    How to add event listener to element created dynamically within prototype?

  29. 29

    jquery listen to click event on dynamically created element

HotTag

Archive