1

私のサイトには、次のようなアンカーをクリックして開く CSS モーダル ボックスがあります。

<a href="#modal-box">Click here to open modal box</a>

ユーザーがそれをクリックすると、モーダル ボックスが開き、 http ://example.com/#modal-box に移動します。

私にとって、これは私のサイト上の場所を表しているので、ユーザーがその URL をコピーして別のブラウザーに貼り付けて、同じモーダル ボックスをポップアップ表示できるようにしたいと考えています。

jqueryを使用して、ユーザーがいるフラグメントIDを取得し、それに基づいてアクションを実行する方法はありますか?

4

2 に答える 2

3

正しく実行したい (つまり、戻るボタンのサポート) 場合は、hashchange イベントをトラップしてそれに基づいて処理する必要があります。このイベントは、URL フラグメントが変更されたときに最新のブラウザーによって発生します。ただし、すべてのブラウザーが hashchange をサポートしているわけではないため、これを回避する必要があります。次のような事前構築済みのソリューションを使用することをお勧めします。

複雑なルーティングと引数処理を伴う JavaScript アプリケーションを構築する場合を除き、基本的な hashchange プラグインがおそらく最善の策です。

あなたもいつでも見ることができますlocation.hash。ただし、対応するリンクを見つけてクリックをシミュレートし、ブラウザが動作するようにする必要があります。そのようなことを始めたら、上記のプラグイン/フレームワークの 1 つと、ある種の正式なルーティング システムを使用したほうがよいでしょう。

于 2011-04-17T01:36:58.270 に答える
2

おそらくjQueryでそれを行うことができますが、ネイティブのJavaScriptプロパティを使用することもできlocation.hashます#modal-box.

于 2011-04-17T01:20:02.793 に答える