addEventListener to an article element in Javascript

前端 未结 2 2063
萌比男神i
萌比男神i 2020-12-04 04:21

I am trying to addEventListener to all article elements so when they are clicked it turns them into a draggable element.

I\'m not using jQuery on this task.

相关标签:
2条回答
  • 2020-12-04 04:28

    document.getElementsByTagName returns a collection. So you need to iterate over it to add the event listeners. This collection is native DOM nodes collections and not a jquery collection hence you cannot use the addEventListener on the collection.

    var articles = document.getElementsByTagName("ARTICLE");
    var eventListener = function(){console.log('clicked an articles')}
    
    for(var i=0; i<articles.length; i++){
        articles[i].addEventListener('click', eventListener );
    }
    
    0 讨论(0)
  • 2020-12-04 04:32

    Well, you have to check for your latters-cases.

    But there is another issue, any code related to DOM elements has to be executed when that certain element is load (or is identified by Javascript Engine). The following event (onload) makes sure when the window is load, and then, it executes the closure assigned to. window.onload = function(){} is what you probably need.

    window.onload = function(){
     // call your functions or document event listeners here
    }
    

    Also TagName, TagNameNS and ClassName all returns a collection which you have iterate through:

    var allDivs = document.getElementsByTagName("div");
    
    for(var i = 0; i < allDivs.length; i++)
    {
       allDivs[i].addEventListener();
    }
    
    0 讨论(0)
提交回复
热议问题