2012-11-12 57 views
5

我有一個網頁,有一個按鈕。目前,我將此按鈕綁定到JavaScript處理程序,使頁面在單擊時重定向到給定的URL。HTML中的<button>可以在沒有javascript的情況下執行某些操作嗎?

HTML:

<button class="click-me">Clike me to navigate</button> 

JS:

$('.click-me').on('click', function() { window.location = '/myloc'; }); 

我現在正在試圖建立一個備用的(沒有的JavaScript)此頁面的版本。我想這個按鈕來做同樣的工作,但不使用JavaScript。換句話說,即使瀏覽器的JavaScript被禁用,我也試圖讓這個按鈕起作用。

我知道這可以通過窗體來實現(如下所示)。但我正在尋找更清潔的實施。

<form name="hack" action="/myloc"> 
    <button type="submit" class="click-me">Click me to navigate</button> 
</form> 
+0

如果你在沒有JavaScript的情況下工作,你根本不需要JS版本,對不對? – JJJ

回答

11

使用的a元素,這就是他們

<a class="click-me" href="/path/to/whatever/page">Click me to navigate</a> 

,然後簡單地風格它作爲一個button

例如用下面的CSS:

.clickMe { 
    -moz-appearance: button; 
    -ms-appearance: button; 
    -o-appearance: button; 
    -webkit-appearance: button; 
    appearance: button; 
    text-decoration: none; 
    color: #000; 
    padding: 0.2em 0.4em; 
}​ 

JS Fiddle demo

(顯然,這個假設使用支持appearance(或供應商前綴版本)CSS屬性瀏覽器的。)

參考文獻:

+0

+1雖然按鈕看起來不像用戶代理/操作系統特定的按鈕(除非您單獨處理樣式) – PeeHaa

+0

使用CSS http://www.usabilitypost.com/使它看起來非常容易2012/01/10 /按下按鈕狀態與css3/ –

+0

@PeeHaa:* ahem ..!* = D –

5

要回答標題中提出的問題,yes,button element可以在沒有JavaScript的情況下「做事」。通過type=submit,它提交一個表單,如問題結尾處的示例。使用type=reset,它會清除表單中的所有用戶輸入。這僅僅是type=button(元素在任何表單之外的默認值),它依賴於JavaScript並且在沒有腳本的情況下不會執行任何操作。

要回答你應該問的問題:使用鏈接,盧克。如果你想要的話,你可以設計一個類似於按鈕的鏈接樣式(可能在類似於應用程序的上下文中有意義),即使只使用CSS 2.1以及可選的CSS3增強功能(如圓角)。

-1

只需通過it..For例如之前添加標籤添加實施按鈕點擊(如果引用任何網頁):

<a href="https://www.youtube.com/"> 
<button>Youtube</button> 
</a> 

這不列入需要任何JavaScript據我所知。

相關問題