javascript - Jquery .on event.trigger 第二次单击时未刷新

标签 javascript jquery

嗨,我遇到了一个奇怪的行为问题:

我有一个链接,它将一些数据属性提供给另一个链接( 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/

相关文章:

javascript - JavaScript 文件的初始运行

javascript - 文本框仅在选中第一个单选按钮时接受数字

java - 动态添加html选择到表单

javascript - 如何在 JavaScript 中将事件对象转换为字符串?

javascript - --prod 在构建 Ionic 3 应用程序时不工作

javascript - 在 2 个 float div 之间创建一条线并调整为移动

javascript - 如何使用 angularjs 打开新的浏览器实例而不是选项卡

JavaScript 变量

javascript - 移动滚动条时始终保持窗口居中

jquery - Twitter Bootstrap 将事件类添加到 li