我有一個按鈕:變化的onclick用JavaScript函數動作
<button id="a" onclick="Foo()">Button A</button>
當我點擊這個按鈕,第一次,我希望它執行的Foo(它正確地做):
function Foo() {
document.getElementById("a").onclick = Bar();
}
當我第一次點擊按鈕時想要發生的事情是將onclick函數從Foo()
更改爲Bar()
。到目前爲止,我只能實現無限循環或根本沒有變化。 Bar()
會是這個樣子:
function Bar() {
document.getElementById("a").onclick = Foo();
}
因此,單擊此按鈕只是交替哪個函數被調用。我怎樣才能使這個工作?或者,什麼是更好的方式來顯示/隱藏文章的全文?它最初開始縮短,我提供了一個按鈕來「查看全文」。但是,當我單擊該按鈕時,我希望用戶能夠再次單擊該按鈕以使文本的長版本消失。
下面是完整的代碼,如果它可以幫助:
function ShowError(id) {
document.getElementById(id).className = document.getElementById(id).className.replace(/\bheight_limited\b/, '');
document.getElementById(id+"Text").className = document.getElementById(id+"Text").className.replace(/\bheight_limited\b/, '');
document.getElementById(id+"Button").innerHTML = "HIDE FULL ERROR";
document.getElementById(id+"Button").onclick = HideError(id);
}
function HideError(id) {
document.getElementById(id).className += " height_limited";
document.getElementById(id+"Text").className += " height_limited";
document.getElementById(id+"Button").innerHTML = "SHOW FULL ERROR";
document.getElementById(id+"Button").onclick = "ShowError(id)";
}
我不是這個答案,因爲你是專門詢問有關香草JavaScript的,但你可能想看看jQuery。這是一個JavaScript庫,可以幫助你做你想要在你的問題中做的事情。 – JasCav 2011-03-14 20:12:20
瞭解JQuery,只能在這種情況下使用Javascript。謝謝。 – sepiroth 2011-03-14 20:13:28
'onclick'屬性應該全部小寫。 https://developer.mozilla.org/en/DOM/element.onclick – 2011-03-14 20:15:33