1

私のサイトは ajax ベースです。id= の div があり、 -request (jquery から)contentによって動的に生成されます。.get問題は、コンテンツ内にリンクがあることです:<a href="site.com/#some_hash">text</a>ロジックに適用するページをリロードする必要がありますsome_hash。そのようなリンクをクリックしてページをリロードするにはどうすればよいですか?

$('.content a').bind('click', function() {
   alert('Clicked!');
});

これは警告しません。

4

2 に答える 2

1

jquery on() http://api.jquery.com/on/を使用する必要があると思います

$(document).on('click', '#content a', function() {
    YOUR FUNCTION
});
于 2012-11-22T07:57:49.760 に答える
1

現在のコードが機能していない理由は、jQuery の「バインド」がページの読み込み時に一度だけ実行されるためです。そのため、その後に DOM に追加されたリンクには、イベントがバインドされていません。

これを修正するには、jQuery で .on() メソッドを使用できます。

$(document).on('click', '#content a', function() {
    YOUR FUNCTION
});

.live() も使用できますが、現在は非推奨です。

ただし 、Ajax には十分に確立された大規模なデザイン パターンのセットがあります。サイト全体を ajax にすることの長所と短所については説明しませんが、この種の機能用に作成された次のようなプラグインを確認することを強くお勧めします。

これらは、箱から出してすぐにこの種の多くのことを行い、他のことに集中できるようにします.

于 2012-11-22T08:04:36.877 に答える