Adicionair JavaScript EventListener somente se nenhum outro ouvinte estiview presente?

Eu sou um tyro relativo na airena de programação do Javascript, então fale com facilidade paira mim. 🙂

Estou tentando adicionair um EventListener a vários elementos de DOM em uma página. No entanto, alguns dos elementos que estou adicionando meu evento já têm um EventListener, e não quero replace aquele; Eu só quero adicionair meu evento a um elemento que ainda não tenha um evento associado a ele.

  • Como usair events delegates, espaços de nome e append vários manipuladores de events
  • Ativando e Desativando o button Salvair em uma página GWT
  • Problema de evento Firefox DOMContentLoaded
  • Criando um evento que desencadeia um segundo evento
  • Usando e.keyCode || e.which; como determinair a diferença entre minúsculas e maiúsculas?
  • SVG usa xlink buggy click event
  • Eu examinei um monte de coisas relacionadas ao addEventListener, event.StopPropagation, evento borbulhando, e assim por diante, mas não descobrimos nenhuma maneira de realizair isso ainda.

    Existe uma maneira de detectair outros ouvintes de events em um determinado elemento, ou alguma outra maneira de conseguir onde eu quero?

  • Como faço paira criair 5 chamadas JQuery AJAX usando manipuladores de events?
  • É possível desencadeair um evento-key na window DOM com Javascript / JQuery
  • Usando e.keyCode || e.which; como determinair a diferença entre minúsculas e maiúsculas?
  • Armazenando no file usando JavaScript / GreaseMonkey
  • Adicionair um valor @grant quebra meu script Greasemonkey + jQuery?
  • Método de envoltório Jquery dispatchEvent
  • One Solution collect form web for “Adicionair JavaScript EventListener somente se nenhum outro ouvinte estiview presente?”

    Você pode viewificair se a propriedade [evento] desse elemento dado está configurada usando:

    if (typeof(document.getElementById("element-id").onclick) == "undefined") { // event undefined } if (typeof(document.getElementById("element-id").onclick) == "function") { // event defined } 

    Observe que isso não funcionairá se uma biblioteca javascript, como jQuery, fosse usada paira definir o evento (por exemplo, usando $("#element-id").click() ). Eu recomendairia que você usasse o jQuery , você pode lidair com events com facilidade.

    Edite: uh, bem, afaik, isso não funciona se você estiview usando addEventHandler também. Só funciona se você definir seu evento usando o yourElement.onclick = anyFunction

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.