Javascript 相互冲突的职能

Javascript 相互冲突的职能,javascript,events,Javascript,Events,这里的好人最近帮助我使用了一些JavaScript,发布在下面。但是,它似乎与站点上已经存在的另一个功能冲突。由于我是一名后端程序员,对JavaScript知之甚少,有人知道如何解决冲突吗 function showhide(id) { if (document.getElementById) { var divid = document.getElementById(id); var divs = document.getElementsByClassN

这里的好人最近帮助我使用了一些JavaScript,发布在下面。但是,它似乎与站点上已经存在的另一个功能冲突。由于我是一名后端程序员,对JavaScript知之甚少,有人知道如何解决冲突吗

function showhide(id) {
    if (document.getElementById) {
        var divid = document.getElementById(id);
        var divs = document.getElementsByClassName('hide');
        var showElement = true;
        if (divid.style.display === 'block') {
            showElement = false;
        }
        for (var i = 0; i < divs.length; i++) {
            divs[i].style.display = 'none';
        }
        if (showElement) {
            divid.style.display = 'block';
        }
    }
    return false;
}
函数显示隐藏(id){
if(document.getElementById){
var divid=document.getElementById(id);
var divs=document.getElementsByClassName('hide');
var showElement=true;
if(divid.style.display=='block'){
showElement=false;
}
对于(变量i=0;i
上面的代码与下面的代码冲突,后者是验证码的重新加载图标。没有错误,但只要其他代码存在,刷新就不会执行任何操作。请注意,上面的代码包含在站点范围内,并在其他几个页面上使用,而下面的代码仅在其中一个页面上使用

<img src="/common/quickcaptcha/imagebuilder.php" border="1" id="verification">
<a href="#" onclick="document.getElementById('verification').src='/common/quickcaptcha/imagebuilder.php?img=' + Math.random(); return false">
  <img src="/common/images/refreshicon.gif" width="22" height="22" border="0" title="Refresh Security Code">
</a>

当您使用该语法(
.on{event}=…
)设置事件侦听器时,您正在覆盖以前为该事件设置的任何侦听器。例如:

window.onload=function(){console.log(“A”);};//不会被处决

window.onload=function(){console.log(“B”);}您可以对所有事件使用相同的逻辑:

//已存在的函数
window.onload=函数(){
控制台日志(“A”);
}
//方法在元素的“事件”处添加多个函数(默认为windows)
var addOn=函数(事件、函数、元素){
if(!元素){
元素=窗口;
}
if(element.addEventListener){
元素。addEventListener(事件,函数);
}
else if(元素附件){
元素.attachEvent('on'+事件,func);
}
否则{
var onevent=元素['on'+事件];
元素['on'+事件]=函数(){
if(onevent){
onevent();
}
func();
}
}
}
//关闭
var addOnLoad=函数(func,元素){
加载项('load',func,element);
}
//在onload时添加更多新函数
addOnLoad(函数(){
控制台日志(“B”);
});
addOnLoad(函数(){
控制台日志(“C”);

});注意使用addEventListener,为了浏览器兼容性,我经常忘记IE8及以下版本。。。我倾向于忽略这些旧浏览器,因为Windows XP已经停止维护。谢谢大家!我将尝试一下这些想法。只是想澄清一下,现有函数并不比我展示的多——也就是说,它是对内置JavaScript函数的一个内联调用,而另一个是一个单独的函数。我尝试应用这个函数,但不确定确切的语法,尤其是内联函数。这都是我最初的问题。这就是与这个问题相关的所有内容,因为剩下的是带有数据库调用的PHP、其他HTML表单字段等。我不理解这个问题。addOnLoad(function(){var d=document;var anchors=d.getElementsByTagName(“a”);var divs=d.getElementsByClassName(“hide”);for(let i=0,len=anchors.length;i