開発中のアプリで pjax を試していますが、ちょっと壁にぶち当たりました。
多分私はこれについて間違った方法で行っているので、説明させてください。
アプリの上部にメイン メニューがあり、さまざまなセクションがあります。このメニューの各リンクは pjax 対応です。つまり、アプリケーションの本体のみが変更されます。
通常、pjax のないリンクをクリックすると、document.ready メソッドがトリガーされます。これを使用して、次の例のようにイベントをボタンにバインドします。
ここに私のusers.js.coffeeファイルがあります
loaded = false;
$ ->
$("#btn_new_user").bind "click", (event) ->
if not loaded
@path = $('#btn_new_user').attr("path")
$("#new-users-container").load(@path)
loaded = true
$("#new-users-container").slideToggle()
この例でわかるように、「users」ページの読み込みが完了すると、フォームを div に読み込み、アニメーション化して表示するイベントにボタンがバインドされます。
ただし、管理者の別のセクションで開始し、[ユーザー] リンクをクリックしてこのボタンを表示すると、イベントはバインドされません。[ユーザー] セクションでページをリロードすると、document.ready がトリガーされ、ボタンが正常に機能します。
イベントをボタンにバインドするためのより良い手法はありますか、または pjax で document.ready をトリガーする方法はありますか?
ありがとう。