【发布时间】:2016-10-16 21:27:05
【问题描述】:
我有一个输入文本,它的data 属性之一会在我的视图模型更改后立即更改(感谢 Knockout)。
绑定如下:
<input data-bind="attr:{'data-customitem': customItemId}" />
在我的视图模型中,我有一个函数可以访问输入并检索data-customitem 属性值。
第一次绑定输入时,它会获得一个 id,比如X。所以 HTML 看起来像这样:
<input data-bind="attr:{'data-customitem': customItemId}" data-customitem='X'/>
然后我的模型发生变化,并且剔除将属性值更新为Y。 HTML 现在看起来像这样:
<input data-bind="attr:{'data-customitem': customItemId}" data-customitem='Y'/>
现在的问题是:
$element.data("customitem") 返回X
$element.attr("data-orderitem") 返回Y
为什么 jQuery 数据函数返回数据属性的旧值?幕后是否有任何缓存?
【问题讨论】:
标签: javascript jquery knockout.js