2012-03-24 99 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>