我正在为我正在开发的应用程序尝试 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()
正如您在此示例中所见,当“用户”页面完成加载时,它将绑定一个按钮和一个事件,该事件将把一个表单加载到一个 div 中并对其进行动画显示。
但是,当我从管理员的不同部分开始并单击“用户”链接以显示此按钮时,该事件未绑定。当我在用户部分重新加载页面时,document.ready 触发并且按钮工作正常。
是否有更好的技术将事件绑定到按钮,或者有什么方法可以在 pjax 上触发 document.ready?
谢谢。