什么可能导致jquery.data()消失?

时间:2011-10-27 08:17:26

标签: jquery

我遇到了jQuery element.data()神秘复位的问题。我已经检查过数据是否存储在点击事件中的元素上。

Some simple tests to recreate the problem (with no success) here.

数据存储之后会发生什么,一系列操作,更改数据字段的id:s,表单提交,响应处理,一些渲染等等......简而言之,找到的东西很慢问题。我检查了$ .cache-object,它没有我存储的数据。代码中的.removeData都以我编辑输入字段的形式定位提交按钮。

$element.removeData('attribute'); 

有什么想法会导致数据重置?

jQuery.data source here

3 个答案:

答案 0 :(得分:1)

当元素从DOM中删除时,Jquery数据也会从元素中删除。您仍然可以在变异观察器中访问已删除的元素,但其上的Jquery数据已消失。

答案 1 :(得分:0)

这个asp.net是否有机会?我知道使用asp.net ajax进行的ajax调用是非破坏性的post-backs,但是它们会破坏客户端脚本代码(javascript)。试试这个:

创建一个文本框html输入(隐藏很好)并将数据值存储在那里。在ajax调用之后检查该输入的值,以确保仍然设置输入值。

如果您仍然拥有该值,但缺少js更新(包括任何js变量),那么该ajax调用正在进行回复,该回发不会破坏表单内容,但会破坏javascript代码。

答案 2 :(得分:0)

您是否更改了html模板?

我最近处理了同样的问题,其中数据在点击事件中消失了。我重新模板化我的html并将数据附加到父节点上,但是click事件是在子节点上触发的。

<div> <!-- The data was attached here -->
  <div class="clickable"> <!-- click events were firing here -->


  </div>
</div>