2012-03-24 93 views
3

这里是我的代码..onclick同时调用两个函数?

<script type="text/javascript"> 
function clicker(){ 

    var thediv=document.getElementById('downloadoverlay'); 
    if(thediv.style.display == "none"){ 
     thediv.style.display = ""; 
     thediv.appendChild() 
    return false; 
    } 
} 
function clicker1(){ 
    var thediv1=document.getElementById('downloadbox'); 
    if(thediv1.style.display == "none"){ 
     thediv1.style.display = ""; 
     thediv1.appendChild() 

    return false; 
    } 
} 



</script> 

单击按钮时..事件应该同时调用两个功能..帮助..?

回答

2

添加处理程序悄悄地从你的脚本中。喜欢的东西:

function addHandler(etype, el,handlerFunction){ 
    if (el.attachEvent) { 
    el.attachEvent('on' + etype, handlerFunction); 
    } else { 
    el.addEventListener(etype, handlerFunction, false); 
    } 
} 
var myButton = document.getElementById('mybutton'); 
addHandler('click', myButton, clicker); 
addHandler('click', myButton, clicker1); 
1

是的,你可以,如果你附加事件监听器:IE,其他browsers

请记住,他们都不会在同一时间结束,如果网站重定向,在第二个功能完成之前,可能会“缩短”。

此外,在这种情况下,我会在包含#downloadoverlay#downloadbox的标签上设置CSS类。而不是直接与style对象搞混。

1

只需编写一个调用两者的函数即可。例如,您可以编写

function onClick() { 
    clicker(); 
    clicker1(); 
} 

并在您关心的元素上设置onclick="return onClick();"

1

只是让另一个函数两者同时调用

function callClickers(){ 
    clicker(); 
    clicker1(); 
} 

现在添加到您的按钮的onclick

+0

它不帮助鄙..它在叫的第一个功能,而不是第二... – Suren 2012-03-24 09:54:08

+0

@Suren在控制台的某个地方是否有错误?你也应该在代码中错过任何地方添加分号。它的缺席会让事情变得糟糕 – 2012-03-24 10:00:48

0

,您可以一次调用这两个函数的onClick事件

<button type="submit" id="mySubmit" onClick=" clicker(); clicker1()">Search</button>