我遇到了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
答案 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>