? asked in 電腦與網際網路程式設計 · 1 decade ago

(急)如何改變網頁按鈕的focus樣式

請問.......

HTML 按鈕上的focus預設樣式是黑色的虛線框框

如果想改變它的樣式該怎麼做呢???(例如改成紅色較粗的框框)

不知該用CSS還是javascript...............(網頁用IE)

相關的語法是.....???

麻煩各位幫忙了.....

謝謝!!!

Update:

謝謝您的幫忙︿︿

想另外想請問......

因為您敎的兩個方法都有在按鈕標籤裡寫onfocus=""

但我的網頁原本有個效果是:當focus到按鈕上時播放音效

所以onfocus=""已經寫了關於播放音效的javascript了.....

請問可以在onfocus=""裡寫兩個東西嗎@@?

還是可以寫兩個onfocus="".......???

麻煩您回答了~

謝謝!!!

Update 2:

謝謝~~~

按照您的方法試可以了!!!~

但我測試的時候發現,當button onblur時,原本被紅色框包住的按鈕底會變成ㄧ片灰色

(不是原本灰色立體的按鈕樣子)

.....請問原本就會這樣.....還是我的檔案還需要做修改呢><???

....謝謝您了....

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    在你的另一題內,我用了 button tag 語法的方法,這回我用 javascript function 方法。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    <html>

    <script type="text/javascript">

    function chg_button(obj,stat)

    { obj.style.border= stat? '3px red solid': '10px blue dotted'

    }

    </script>

    <body>

    <form method="post" action="base64_decode.php">

    <textarea name="ta" style="width:600px; height:300px;">

    </textarea>

    <br>

    <input type="button" value=" Decode " style="border:10px blue dotted;" onfocus="chg_button(this,1)" onblur="chg_button(this,0)">

    </form>

    </body>

    </html>

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    input button 標簽內的

    chg_button(this,1) this 意思是該button ,及1 意思是要更改狀態。

    chg_button(this,0) this 意思是該button ,及0 意思是要還原狀態。

    2009-11-01 12:32:42 補充:

    不可以兩個onfocus=" ......."

    onfocus 內可寫多個指令,切記用「;」 分隔。

    onfocus="語法1 ; chg_button(this,1)"

    onfocus=" chg_button(this,1) ; 語法1 "

    2009-11-01 16:53:40 補充:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    >button onblur時,原本被紅色框包住的按鈕底會變成ㄧ片灰色

    >(不是原本灰色立體的按鈕樣子)

    我真的沒留意這點。

    請更改 javascript function 如下:

    可保留 button 原有立體色

    2009-11-01 16:53:58 補充:

    <script type="text/javascript">

    function chg_button(obj,stat)

    { obj.style.borderColor = stat? 'red': ''

    obj.style.borderStyle = stat? 'double': ''

    }

    </script>

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Still have questions? Get your answers by asking now.