Javascript 我需要帮助来发现代码与我需要的代码之间的差异,从而找出代码不起作用的原因

Javascript 我需要帮助来发现代码与我需要的代码之间的差异,从而找出代码不起作用的原因,javascript,html,Javascript,Html,请参阅下面的代码和帮助,以了解我的代码中发生了什么,我的代码不起作用 第一个代码是我写的,但它不工作,第二个正确的是复制的代码。在过去的两个小时里,我一直在寻找,但没有任何发现 <!-- mycode --> <script> function removeTransition(e){ if(e.propertyName !== 'transform') return; e.target.classList.remove('pla

请参阅下面的代码和帮助,以了解我的代码中发生了什么,我的代码不起作用

第一个代码是我写的,但它不工作,第二个正确的是复制的代码。在过去的两个小时里,我一直在寻找,但没有任何发现

<!-- mycode -->
 <script>

    function removeTransition(e){
        if(e.propertyName !== 'transform') return;
       e.target.classList.remove('playing');  
         
        }

     function playSound(e){
     const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
     const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);

       if(!audio) return; //stop the function from running all together.
        audio.currentTime = 0; //Rewind to the start.
        audio.play();
        key.classList.add('playing');
    }
    
    const keys = Array.from(document.querySelectorAll('.key'));
    keys.forEach(key => key.addEventListener('transitioned', removeTransition));

    window.addEventListener('keydown',playSound);
</script>


<!-- correct code -->
<script>
  function removeTransition(e) {
    if (e.propertyName !== 'transform') return;
    e.target.classList.remove('playing');
    
  }

  function playSound(e) {
    const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
    const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
    if (!audio) return;

    audio.currentTime = 0;
    audio.play();
    key.classList.add('playing');
  }

  const keys = Array.from(document.querySelectorAll('.key'));
  keys.forEach(key => key.addEventListener('transitionend', removeTransition));
  
  window.addEventListener('keydown', playSound);
</script>



功能移除转换(e){
if(e.propertyName!=“transform”)返回;
e、 target.classList.remove('playing');
}
播放声音功能(e){
const audio=document.querySelector(`audio[data key=“${e.keyCode}]”);
const key=document.querySelector(`.key[data key=“${e.keyCode}]”);
if(!audio)return;//停止函数一起运行。
audio.currentTime=0;//倒带到开始位置。
音频播放();
key.classList.add('playing');
}
const keys=Array.from(document.querySelectorAll('.key');
key.forEach(key=>key.addEventListener('transitioned',removeTransition));
window.addEventListener('keydown',playSound);
功能移除转换(e){
if(e.propertyName!=“transform”)返回;
e、 target.classList.remove('playing');
}
播放声音功能(e){
const audio=document.querySelector(`audio[data key=“${e.keyCode}]”);
const key=document.querySelector(`.key[data key=“${e.keyCode}]”);
如果(!音频)返回;
audio.currentTime=0;
音频播放();
key.classList.add('playing');
}
const keys=Array.from(document.querySelectorAll('.key');
key.forEach(key=>key.addEventListener('transitionend',removeTransition));
window.addEventListener('keydown',playSound);

这是一个单词
transitioned
vs
transitionend

//your code
keys.forEach(key => key.addEventListener('transitioned', removeTransition));

//correct code
keys.forEach(key => key.addEventListener('transitionend', removeTransition));

除此之外,两者之间只有微小的间距差异。

请描述:“但它不工作”检查浏览器控制台是否存在javascript错误。这是修复方法还是否?