1

私の問題を解決する方法についていくつかの情報を収集した後、質問全体を言い換える方が良いと思いました.

簡単な質問は、window.onhashchange機能からカスタム イベントを作成する方法です。

ご存知かもしれませんが、javascript が読み込まれたコンテンツにハンドラーをアタッチできないため、これを実行したかったのですが、次の方法でこれを解決できます。

$('parent').on('event', 'child', func)右?これは、jquery デリゲート機能と同等です。

からカスタム イベントを作成する方法window.onhashchange

4

1 に答える 1

0

おおお。わかった。ええと、hashchange をトリガーするのに意味があるのは window だけなので、なぜイベント委譲が必要なのかわかりません。窓に耳を傾ける。ハッシュの変更がある場合は、現在存在する HTML に対して必要なことを行います。

実際には、JavaScript が追加されたコンテンツにハンドラーをアタッチできます。DOM にある場合は、操作してイベントをリッスンできるものです。問題は、html コンテンツを置き換える場合です。元の dom ノードはなくなっているため、たとえばクリック イベントがあった場合、存在しないノードに登録されます。

ただし、ウィンドウはページをリロードすることによってのみ置き換えることができ、ハッシュの変更が関連するのはそれだけです。また、「hashchange」は実際の DOM イベントではありません。要素でトリガーするのが理にかなっている場合、「クリック」のようなイベントのようにバブルするかどうかはわかりません。

短いバージョン: この「hashchange」イベントで何かを行う必要がある場合、あなたが抱えていると思う問題を抱えているかどうかはわかりません。

于 2012-12-29T07:43:50.803 に答える