Javascript 是否仅将eventListener添加到一个html页面?

Javascript 是否仅将eventListener添加到一个html页面?,javascript,jquery,html,Javascript,Jquery,Html,我有几个html页面,我只想在一个html页面上添加一个eventListener document.addEventListener('scroll', function(e){ // along the scroll, the img's opacity changes. }); 在那个html页面中,如果我滚动页面,整个页面img的可选性就会改变 问题是这个监听器也会在其他页面中触发 如何仅将此侦听器添加到一个页面 您可以使用window.location然后附加事件处理程序 i

我有几个html页面,我只想在一个html页面上添加一个eventListener

document.addEventListener('scroll', function(e){    
// along the scroll, the img's opacity changes.
});
在那个html页面中,如果我滚动页面,整个页面img的可选性就会改变

问题是这个监听器也会在其他页面中触发


如何仅将此侦听器添加到一个页面

您可以使用
window.location
然后附加事件处理程序

if(window.location.href === 'YOUR_URL') {
  document.addEventListener('scroll', function(e){    
    //your code
  });
}
或者您可以将一些
id
附加到
body
上,并检查其是否存在

<body id="animate-stuff">

if(document.getElementById('animate-stuff')) {
  document.addEventListener('scroll', function(e){    
    //exec your code here
  });
}

if(document.getElementById('animate-stuff')){
document.addEventListener('scroll',函数(e){
//在这里执行代码
});
}

如果标题中有此代码,请仅将其移动到该页面。您可以将该函数添加到要加载的唯一html页面中的
标记中,而不是将其放入js文件中,该文件将在您拥有的每个页面中导入。Lixus是正确的,另一个选项是向父元素添加一个类,并且仅在它存在时触发?仅将其添加到一个页面?是什么阻止您直接将其添加到一个页面?将该检查放在内部似乎不是一个好主意,将其包装在if中而不应用事件侦听器会更有意义。@epascarello哦,我的意思是,只是复制粘贴了他的代码。谢谢,我会改变的