首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击事件(innerHTML javascript)的基础上加载引导滑块

如何在单击事件(innerHTML javascript)的基础上加载引导滑块
EN

Stack Overflow用户
提问于 2017-10-22 05:16:13
回答 1查看 801关注 0票数 0

代码语言:javascript
复制
function createslider(){
document.getElementById("loadSlider").innerHTML='<input id="ex1" data-slider-id="ex1Slider" type="text" data-slider-min="0" data-slider-max="20" data-slider-step="1" data-slider-value="14"/>';
}


// Without JQuery
var slider = new Slider('#ex1', {
	formatter: function(value) {
		return 'Current value: ' + value;
	}
});
代码语言:javascript
复制
#ex1Slider .slider-selection {
	background: #BABABA;
}
代码语言:javascript
复制
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/9.9.0/css/bootstrap-slider.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/9.9.0/bootstrap-slider.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-slider/9.9.0/bootstrap-slider.js"></script>


<button onclick="createslider()"> Click me</button>


<div id="loadSlider">
<!--
<input id="ex1" data-slider-id='ex1Slider' type="text" data-slider-min="0" data-slider-max="20" data-slider-step="1" data-slider-value="14"/>-->

</div>

问题:引导滑块没有显示在单击事件javascript上

解释:如果我取消隐藏滑块代码(没有onlclick事件),它的工作正常,但是当我在onlclick上加载时,滑块不是显示,只显示输入框。

EN

回答 1

Stack Overflow用户

发布于 2017-10-22 05:38:50

您的javascript有一个主要缺陷:

代码语言:javascript
复制
var slider = new Slider('#ex1', {
    formatter: function(value) {
        return 'Current value: ' + value;
    }
});

代码中的任何内容都不会调用这种情况,页面将在id #ex1元素存在之前尝试运行JS,因为它将在页面加载时运行。一旦执行了单击事件,就不会告诉它将滑块与其关联。你需要使用回调。试试下面的javascript。

代码语言:javascript
复制
function createslider(){
document.getElementById("loadSlider").innerHTML='<input id="ex1" data-slider-id="ex1Slider" type="text" data-slider-min="0" data-slider-max="20" data-slider-step="1" data-slider-value="14"/>';
addNewSlider(); // let the callback attach the new slider once the new node has been added to the dom
}


// Without JQuery
function addNewSlider() { // callback at work
var slider = new Slider('#ex1', {
    formatter: function(value) {
        return 'Current value: ' + value;
    }
});
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46870724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档