突出显示功能(mouseover / mouseout事件侦听器)无法正常工作

时间:2018-03-03 18:20:41

标签: javascript function dom mouseover event-listener

我遵循了一些在线说明和一些关于突出显示单词的现场推荐,但我还没有得到任何展示。我还应该提一下,我没有在控制台中收到任何错误消息。

这里是.js:

let createWordElems = function() {

  for (var i = 0; i <= 54; i++) {
    var singleWord = document.createElement('span') // creating 'p' element, calling it singleWord
    singleWord.innerHTML = " " + shuffledWords[i]; // setting the content of the first word

    singleWord.addEventListener("click", clickFunc);
    // set onClick event for word

    var giantArrayElement = document.querySelector('.giant-array') // selecting .giant-array and storing it in var
    giantArrayElement.appendChild(singleWord); // appending singleWord to giantArrayElement
  }
}
createWordElems();



///// ======== ////// HIGHLIGHT ///// ======== //////

function highlight() {

  var selectSpan = document.querySelector('span')

  selectSpan.addEventListener("mouseover", function(evt) {
    evt.target.style.backgroundColor = "#ebce8e";
  });

  selectSpan.addEventListener("mouseout", function(evt) {
    evt.target.style.backgroundColor = "#473611";
  });
}

highlight();

更新

window.addEventListener('onload',function() {
function highlight() {

  var selectSpan = document.querySelector('span')

  selectSpan.addEventListener("mouseover", function(evt) {
    evt.target.style.backgroundColor = "#ebce8e";
  });

  selectSpan.addEventListener("mouseout", function(evt) {
    evt.target.style.backgroundColor = "#473611";
  });

}
highlight();

});

1 个答案:

答案 0 :(得分:2)

.addEventListener函数通常有点棘手,因为它通常仅在元素已完全加载时才有效。要避免此问题,您应将highlight功能放在

window.addEventListener('onload',function(){
  //your function here
}

让你的东西上班。