javascript - 如何将动态创建的对象绑定(bind)到文档就绪事件?

标签 javascript jquery html

我有一个使用以下代码动态创建 slider 元素的函数:

function NewDiv(){
        for (var count=0; count < parseFloat(sessvars.storey_count); count++)
            {
               var string="<br><div id='my-slider"+count+"' class='dragdealer'><div class='red-bar handle'><span id='drag-button"+count+"'>drag me</span></div></div>";
               $("body").append(string);

               var slider_id ="my-slider"+count;
               var drag_button_id = "drag-button"+count;

               //OBJECT GETS CREATED BELOW
               new Dragdealer(slider_id,{horizontal: true,x:Math.random(),animationCallback: function(x, y){
               document.getElementById(drag_button_id).innerHTML = x.toFixed(2);
            }
        });
    }
}

但是,每次移动 slider 时调用的 animationCallback 函数都必须嵌入到函数监听器中,并且我必须以某种方式将其绑定(bind)到就绪事件。这是在 slider 值发生变化时更新 slider 的最佳方法吗?如果是这样,我该怎么做?

最佳答案

所有 animationCallback 函数都通过同一个 drag_button_id 变量关闭。
因此,他们都更新了最后一篇。

您需要将 for 循环的主体包装在一个单独的函数中,以便每个闭包都有自己的变量(因为 Javascript 没有 block 作用域)。

关于javascript - 如何将动态创建的对象绑定(bind)到文档就绪事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18300271/

相关文章:

javascript - 如何使用 Moment.js 排除两个日期之间的周末

javascript - Bootstrap 事件未在 ajax 加载表单中捕获

javascript - jQuery DrawSVG : Call a function when draw-on-scroll is finished?

javascript - jQuery如何从单选按钮获取div元素值并将值分配给特定div

javascript - 替代/替代 queryCommandState ('bold' )

javascript - 如何有效地将许多字段添加到我用 JavaScript 创建的表单中?

javascript - 类名解析不正确

JavaScript 检测附加文件输入的更改

JavaScript 构建动态对象

javascript - 如何在 mousedown 事件上更改鼠标光标