2011-07-02 8 views
2

特定のハイパーリンクでクリックイベントを捕捉し、代わりにhrefを使用してjQuery UIダイアログを開きます。ブラウザを避けるためにfalseを返します。jQueryのリンクで訪問設定

クリックするとリンクの色は訪問者に変わりません。リンクが実際に訪問されたことをブラウザにどのように伝えることができますか?

ありがとうございます!

答えて

4

あなたはreturn falseでしたので、訪問していません。おそらくあなたができる最高のスタイルはそれです。

$(this).addClass('visited'); 

CSS

.visited { 
    color: purple; 
} 
+2

私はそれを 'a:visited、a.visited {color:#00e; } 'を呼び出すことで、実際に訪問されたリンクと' visited'クラスでマークされたリンクのスタイルが同じになります。 – tvanfosson

+0

@tvanfosson:+1いい考えです。 – user113716

2

カスタムクラスを追加する方法についてこれらのシナリオは、奇妙です。次回ページをリフレッシュするとどうなりますか?訪問したクラスを持つすべてのリンクを追跡し、後続のリクエストでその情報を復元できるようにバックエンドにその情報を保持する必要はありませんか?私はすべてのロジックがJavaScriptを介してクライアントサイドでメモリ内で行われているので、これらのスタイルはすべて次のリクエストから消去されると思います。ブラウザは通常、キャッシュを維持し、その情報を保持します。

+0

私は同意します - 情報が残っている方がずっと良いでしょう。それを達成する方法はありますか? UIダイアログのAJAXリクエストが良いのでしょうか? – Tak

+0

さて、それはできますが、あなたは次のリフレッシュ時にそれを取得する方法を知っているので、あなたのハイパーリンクにIDを固執する必要があります。おそらくAJAXのリクエストはうまくいくはずですが、リンクを紫色にするためにサーバーに盲目的な往復をしたいとは思わないでしょう。それがあなたの心に正しいことですか?サーバーにリクエストを行い、応答に気を付けないでください。あなたがそれをしたい場合は、それらの画像にエタグを入れて、盲目的ではないようにしてください。あなたが本当にそれを永続させたいのであれば、後者は最も簡単な方法でしょう。 –

+0

いいえ私はAJAX経由でhrefの内容をダイアログにロードすることを考えていたので、ブラウザはURLをフェッチしていて、 "うまくいけば" – Tak

関連する問題