如何页面加载后,我执行的代码? [重复]

问题描述 投票:0回答:3

这个问题已经在这里有一个答案:

如何使下面的代码加载一次加载页面?

我试图使它成为一个全新的功能,但它没有工作,有人可以帮助我

document.getElementById("ano").addEventListener("change", function(a) {
        const tbody = document.getElementById('tbody_calendario_jogos')
        while (tbody.firstChild) {
            console.log(tbody.firstChild)
            tbody.removeChild(tbody.firstChild)
        }


        for (key in jogos) {
            const anoSelect = new RegExp(`${a.target.value}`)
            const data = anoSelect.exec(jogos[key].Data)
            if (data != null) {
                const obj = jogos[key]
                const tr = document.createElement('tr')

                const tdTemporada = document.createElement('td')
                tdTemporada.textContent = obj.Temporada

                const tdLocal = document.createElement('td')
                tdLocal.textContent = obj.Local

                const tdMais = document.createElement('td')
                tdMais.textContent = obj.Mais


                tr.appendChild(tdTemporada)
                tr.appendChild(tdLocal)
                tr.appendChild(tdMais)
                tbody.appendChild(tr)
            }
        }
    })
javascript html onload
3个回答
0
投票

只要将你的函数事件监听器之外,它更改为名称的功能,以便您可以参考函数名和加载在页面加载的功能以及当change监听器是由您#ano元素像这样调用:

function someFunc(a) {
  const tbody = document.getElementById('tbody_calendario_jogos')
  while (tbody.firstChild) {
    console.log(tbody.firstChild)
    tbody.removeChild(tbody.firstChild)
  }
  for (key in jogos) {
    const anoSelect = new RegExp(`${a.target.value}`)
    const data = anoSelect.exec(jogos[key].Data)
    if (data != null) {
      const obj = jogos[key]
      const tr = document.createElement('tr')

      const tdTemporada = document.createElement('td')
      tdTemporada.textContent = obj.Temporada

      const tdLocal = document.createElement('td')
      tdLocal.textContent = obj.Local

      const tdMais = document.createElement('td')
      tdMais.textContent = obj.Mais


      tr.appendChild(tdTemporada)
      tr.appendChild(tdLocal)
      tr.appendChild(tdMais)
      tbody.appendChild(tr)
    }
  }
}

someFunc(); // will load on page load
document.getElementById("ano").addEventListener("change", someFunc); // will load when `ano` element invokes the change listener

检查并运行下面的代码段用于上述方法的一个实际的例子:

function someFunc() {
  alert("function loaded!!")
}
    
someFunc(); // will load on page load
document.getElementById("ano").addEventListener("click", someFunc); // will load when `ano` element invokes the change listener
<button id="ano">Click Me</button>

0
投票

您可以使用一个简单的初始化语句在页面加载后执行的代码:

function init() {
  //your code here
}


window.onload = init;

-1
投票

尝试把它自撤销功能,而不是改变功能。你改变函数内定义不管会不会被调用时,页面加载。根据你想何时何地被调用的代码,将其放置在页面的适当位置,如<head></head>标签内,之后立即打开<body>标签,或在结束</body>标签的结束。

(函数(){//您的代码})();

© www.soinside.com 2019 - 2024. All rights reserved.