2012-11-12 3 views
5

ボタンがあるウェブページがあります。現在、このボタンをクリックすると、指定されたURLにリダイレクトされるjavascriptハンドラにこのボタンをバインドしています。HTMLの<button>はjavascriptなしで何かできますか?

HTML:

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

JS:

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

私は今、このページのフォールバック(無ジャバスクリプト)バージョンをビルドしようとしています。私はこのボタンを同じ仕事をするが、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として。

.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:以下CSSと例えば

は(これは明らかにappearance(またはベンダー接頭辞のバージョン)CSSプロパティをサポートしているブラウザの使用を前提としています。)

参考文献:

+0

+1ボタンはユーザーエージェント/ OS固有のボタンのようには見えませんが(別途スタイリングを扱っている場合を除きます) – PeeHaa

+0

CSSを使用してボタンのように見えるようにするのはかなり簡単ですhttp://www.usabilitypost.com/ 2012年01月10日/プレスボタン状態付きcss3/ –

+0

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

5

「はい、button element」の質問に答えるには、JavaScriptを使用しないで「することができます」。 type=submitを入力すると、質問の最後の例のようにフォームが送信されます。 type=resetを入力すると、フォームからすべてのユーザー入力が消去されます。 type=button(要素が任意のフォームの外にあるときのデフォルト)はJavaScriptに依存し、スクリプトなしでは何もしません。

質問に答えるには、リンクを使用してください:Luke。 CSS 2.1だけでなく、丸みを帯びたコーナーのようなオプションのCSS3拡張を使用しても、必要に応じてボタンのようなリンクのスタイルを設定できます(アプリケーションのようなコンテキストでは意味をなさないかもしれません)。

-1

(つまり、任意のWebページを参照している場合)あなたは、単にit..For例の前にタグを追加することにより、ボタンクリックの実装を追加することができます。

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

このdoesnotは、私の知る限りでは任意のJavaScriptを必要とします。

関連する問題