嗨,我遇到了一个奇怪的行为问题:
我有一个链接,它将一些数据属性提供给另一个链接( slider 的后链接)
<div class="col-sm-4 etapes etape1 btn-back"
data-classtarget="row_containerHover"
data-currentcontainerid="row_containerHover2"></div>
和反向链接代码
$('body').on('click touchstart', '.btn-back', function (e) {
//$('.btn-back').on('click touchstart', function (e) {
//console.log('click btn-back');//test ok
//var container = $(e.target).closest('.slide_containerHover');
var container = $("#"+$(e.currentTarget).data('currentcontainerid'));
console.log("current container : "+container.attr("id"));
var container_class_target = $(e.target).data("classtarget");
var prev_container = $("#"+container_class_target);
console.log("prev container : "+prev_container.attr("id"));
//On récup le niveau du container ds l'arborescence
/*var level_container = container.data('level');
var prev_level = parseInt(level_container - 1);*/
//On récup le container précédent
var decalX = parseInt(parseInt($(window).outerWidth() / 2)
+ parseInt(container.outerWidth() / 2));
console.log("ledecalX : "+decalX);//test
container.animate({
left: "+=" + decalX
}, 500, 'easeInOutQuad');
//console.log('row_containerHover outerWidth : '+decalX);//test
setTimeout(function () {
prev_container.animate({
left: "0px"
}, 500, 'easeInOutQuad'), 100
});
}
第一次没问题,我的数据属性是正确的。当我单击另一个链接时,我的 html 中的数据属性发生了更改,但控制台测试不显示 $(e.currentTarget).data('currentcontainerid')
有没有办法获取$(e.currentTarget)
刷新后的数据属性?
谢谢大家
最佳答案
最后我找到了一种方法,在过程结束时使用 jquery .removeData 删除它:
$(e.currentTarget).removeData('classTarget');
$(e.currentTarget).removeData('currentcontainerid');
现在它就像一个魅力^_^感谢您的帮助
关于javascript - Jquery .on event.trigger 第二次单击时未刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34812411/