5

私は Web デザインと JavaScript に不慣れで、Web デザイナーが以下の void(0) 構文を使用するのが一般的である理由がわかりません。

 <a onclick="this.blur();return false;" href="javascript:void(0);" class="btn">

これは実際にはブラウザーの左下隅に表示されるため、よりユーザーフレンドリーにする方法を考えてみませんか? おそらく、デザイナーがこの種の UI の微調整を行う時間がないためです。

エンドユーザーにとってより役立つ上記の構文の代替として何を提案しますか?

4

2 に答える 2

8

理想的な解決策は、機能するものの上に構築することです

この記事では、Yahoo User Interface Library の JavaScript ライブラリを活用して JavaScript のシミュレートされた対話イベントのアクセシビリティを改善するプログレッシブ エンハンスメントについて説明します。

引用: クリスチャン・ハイルマン

于 2010-08-29T16:50:48.467 に答える
1

それが単にエンドユーザーの有用性である場合、これでよいでしょうか?

<a onclick="this.blur();return false;" href="#Click to hide" class="btn">

とにかくfalseを返すので、実際には何でも含む可能性があります

<a onclick="this.blur();return false;" href="Click to hide" class="btn">

ただし、その理由は、javascript を無効にしている場合、実際には効果がなく、別の何かを書き込むのとは対照的です (最初の例では URL のハッシュ/アンカー部分が変更され、2 番目の例では変更されます)。おそらくエラーになります)。いずれにせよ、それらはまだおかしく見えます (元の URL が先頭に追加されます)。

繰り返しになりますが、これが JavaScript によってのみ表示される場合は、JavaScript が利用可能であると想定してください。私はまだ安全側で誤りを犯し、とにかくハッシュを使用します... :)

編集
すべてのブラウザーがステータスバーにhrefの「#」部分を表示するわけではないことに気付きました(ブラウザーはそれを行いますか?)ので、アンカーを使用していない場合はjavascript:void(0);単に orを使用します。#代わりに、タイトル属性を説明的なものに設定してください。

編集
私は少し速すぎたと思います...javascript:void確かに影響を避けるためだと思います。ただし、より良い解決策は、a-tags をまったく使用しないことです (私は通常、onclick を何かに平手打ちします。実際には、通常は jquery を使用し、後で特定のクラスまたは ID に追加します)。

于 2010-08-29T16:44:01.843 に答える