2013-06-27 57 views
0

我想在html中獲得一個鏈接來執行兩個不同的JavaScript腳本。我可能可以將兩個腳本重寫爲一個,但我有一種感覺,這個問題會再次出現一個更復雜的腳本,這不會是一個選項。是否可以在HTML中創建一個鏈接來執行兩個腳本?

我想要一個隱藏鏈接並顯示<div>並將鏈接的文本從「隱藏」更改爲「顯示」,反之亦然。

這些都是我的一些代碼片段:

的Javascript

function hide(object) 
{ 
if (object.style.display=="block") 
    object.style.display="none" 
else 
    object.style.display="block" 
} 

function menuChange(object) 
{ 
if (object.innerHTML=="hide") 
    object.innerHTML="show" 
else 
    object.innerHTML="hide" 
} 

我想這兩個當按下

<a id="button">hide</a> 

執行。

有沒有辦法做到這一點,而不訴諸兩個腳本?

+1

像'onclick =「hide(this); menuchange(this);」'? – Ian

回答

9

做一個第三功能:

function doBoth(object) { 
    hide(object); 
    menuChange(object); 
} 

我通常使每個元素或元素的組中的一個函數,並調用它buttonOnClick(),只調用做好本職工作的一個或多個功能。

+1

將執行特定任務的函數概念與僅包含事件處理函數的函數分開是一件好事。 +1。 – Johnny5

+0

這工作。那麼,是不是可以在一個鏈接中創建兩個'href'屬性,或者類似的東西? – qaxf6auux

+0

@ Snip3r是的。你不能有重複的屬性(當然,你可以,但其中一個會被忽略)。 html5有一個'source'標籤,允許多個來源(如視頻流),但聽起來不像這樣會幫助你。 – sgroves

0

Stenci的選擇將適用於您的情況。您也可以在第一個函數中接受可選參數,然後對該參數執行條件操作以從第一個函數內調用第二個函數。

+0

你可以,我想,但沒有很好的理由這樣做這個例子 – sgroves

相關問題