0

我正在尝试更新一个使用 jQuery.data()函数来存储信息的网络应用程序。更新涉及重构界面,以便为不同类型的信息提供单独的窗口,而不是在同一页面上仅使用 div。由于某些插件的工作方式,调用它们的代码已被移动到不同的窗口中,以便在需要它们的窗口中运行。但是,这些插件使用的许多回调用于.data()查找存储的信息,但是设置存储的数据的代码.data()在父窗口中,并且它似乎没有将数据附加到 DOM,它将数据存储在附加到的某个地方窗口,因此在子窗口中,回调无法再找到他们正在寻找的数据。

它可以使用call(parent, DOMelement.data);吗?是否有一种更整洁的方式来处理这个问题?

提前致谢!

4

1 回答 1

0

感谢所有的建议。这没有使用 cookie,因为信息不需要存储在当前会话之后。所有的交互都是通过 javascript 完成的,在你最后保存之前没有服务器请求。必须通信的窗口都同时打开,因此call()建议。我最终解决了这个问题.prop.data因为语法和功能几乎相同。这直接将数据与相关窗口上的 DOM 关联起来。$_SESSION 仅在从服务器请求每个页面时才有效。

因此,如果您尝试存储需要由多个窗口同时访问或不刷新页面的信息,您可以使用 jQuery.prop()函数将数据附加到 DOM。.attr()也可以工作,但.prop()允许您使用 . 符号。这些.data函数旨在防止循环引用,但它们将信息存储在某处,这意味着如果不使用.data为每个上下文单独存储信息,您将无法访问它。

于 2014-12-17T22:26:29.803 回答