0

このトピックは学際的であることが判明したため(ただし、それでもユーザーエクスペリエンスに関するものです)、私はこれをjavacript開発者についてどう思うかを考えています。

私のサイトは、ajaxリクエストとして始まるaタグを処理しています。リクエストが成功した場合は、ドキュメントハッシュを適切に変更します。ここで、サイトトップに移動するような内部js関数を呼び出すアクションリンクを実装したいのですが、ほとんどのブラウザーは、リンク上にあるときにURLを参照するヒントを表示しているため、参照は必要ありません。おそらく私はのような独自のURLスキーマを使用して正常に処理できますが、それは十分な解決策ではありません-ユーザーはまだ魔法のURLについてほのめかされていました。別のオプションは、カスタム文字列のようにカスタム属性を使用することですが、ブラウザの互換性はどうですか?最後の解決策は、href#javascript:myAction()action:myActionaction="myAction"hrefhref="Go to top"spanperfomアクションへのリンクとしてスタイル設定-ユーザーはURLについてヒントを得ませんが、これはアクションの実行を示唆するリンク機能の一部です(URLのデフォルトになります)。

何が優れているのか、そしてその理由は?

4

3 に答える 3

0
<script>
if(window.addEventListener)//Chrome, Firefox and Safari
    document.getElementById('myLink').addEventListener('click',function(e){
        var e = e || event;
        e.preventDefault();
        window.location = destiny;
    });
else//IE and Opera
    document.getElementById('myLink').attachEvent('onclick',function(e){
        var e = e || event;
        e.preventDefault();
        window.location = destiny;
    });
</script>
<a href="#" id="myLink">Link</a>
于 2012-05-12T01:51:56.833 に答える
0

私は最初に、JSを持たないユーザーが使用できる方法ですべてを書くことによってこれを行います。

<a href="#" title="Go to the top of the page">Go to top</a>

次に、DOMがロードされた直後にJSを使用して拡張します。onclick最初にイベントを追加し、次にを削除してhref、リンクヒント(リンク以外のコンテンツはおそらくバリデーターを渡さない)を回避し、最後にカーソルがホバー時にポインターになる新しいスタイル属性を使用します。

これは、非常に便利なプログラムによるプログレッシブエンハンスメント構造の一部です。このようにして、有効で互換性のあるコードと快適な動作を得ることができます。

于 2012-06-13T12:19:53.467 に答える
0

最初にJavaScriptを使用せずにリンクを機能させる必要があります。そうすれば、誰かが をクリックすることを心配する必要はありません<a href='/customers'>Customers!</a>。それはうまく機能し、アクセス可能です。この時点に到達したら、JavaScript を最上位に配置して、ユーザー エクスペリエンスを向上させます。これらすべてをどのように接続するかはあなた次第です。一般的な方法で削除を処理したい場合、次のようなリンクがあるかもしれません。

<a href='/customers/2' class='delete'>Delete customer</a>

<a href='/customers/2' data-action='delete'>Delete customer</a>

または、リンクごとに固有の場合は、ID を設定してそのように接続します。

<a href='/customers/2' id='delete'>Delete customer</a>

この接続はすべて、外部 JavaScript ファイルで行う必要があります。

于 2012-05-12T02:03:17.520 に答える