动态添加一个新的jQuery滑块会导致旧的滑块不起作用
Dynamically adding a new jQuery slider causes the older sliders to not function.
这是我的代码:
newS = "#newS_"+g; //g is a unique number from an id
document.getElementById('finderScroll').innerHTML +='<div id="newS_'+g+'"></div>'
$(newS).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
slide: function( event, ui ) {
console.log( ui.values[ 0 ] + ui.values[ 1 ] );
}
});
每个新的滑块工作,但当我添加另一个,以前的滑块不再工作。它导致它不再是可拖动的,即使关于每个滑动条的一切都是唯一的。有人知道答案吗?
通过更新innerHTML
,您基本上可以使浏览器从头开始重新构建DOM。使用appendChild
代替,这将保留事件处理程序和附加到现有元素的数据。
事实上,我不明白为什么你不能这样写:
$('#finderScroll').append($('<div>').attr('id', 'newS_' + g));
…因为您已经使用了jQuery。此外,我建议重写赋值器块也:你不需要遍历DOM寻找创建的元素(与$(newsG)
),因为你可以这样写:
$('<div>').attr('id', 'news_' + g).slider({ ... })
.appendTo($('#finderScroll'));
相关文章:
- Meteor-添加用户自定义字段的方法不起作用
- JS动态添加字段-删除按钮不起作用
- 添加/删除类淡入淡出不起作用
- 在Internet Explorer中,向所选内容添加选项不起作用
- 添加事件侦听器不起作用
- .hasClass 在 onclick 函数中不起作用,但删除和添加类函数可以
- 通过php添加到变量won'不起作用
- angular元素在通过ng类添加类时不起作用
- 我尝试将引导下拉按钮添加到 但下拉菜单不起作用.我该怎么做
- 在 Javascript 不起作用的情况下为数字添加逗号
- 由 JavaScript 控制的 CSS3 单向转换在按顺序添加/删除类时不起作用
- 在我的管理面板上添加更多不起作用的按钮
- 在 ajax 中添加跨源标头,不起作用
- 添加/删除类在 Chrome 中对我不起作用
- 具体化选择-不'动态添加选项时不起作用
- 在Javascript中动态添加列时,单击事件不起作用
- 双击已添加的选择选项不起作用
- Javascript添加不起作用
- 表行导致内容添加不起作用
- Javascript添加不起作用