我正在尝试让滑块与JQuery Mobile 1.4.2一起使用。
我想做的是使用slidestop事件在其他位置更新值。但是,slidestop事件不会触发。我创建了一个测试文件,并在Safari和Firefox中进行了测试。当我停止滑动滑块时什么也没有发生。有人可以告诉我我错过了什么教程吗?
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/jquery.mobile.css" />
<script src="js/jquery.min.js">
</script>
<script src="js/jquery.mobile.js">
</script>
<title>Concertzender</title>
</head>
<body>
<label for="slider-step">Input slider:</label>
<input type="range" name="slider-step" id="slider-step" value="150" min="0" max="500" step="10" />
</body>
<script>
$( "#slider-step" ).on('slidestop',function( event ) { alert("slidestop event fired"); });
</script>
</html>
编辑:我尝试下面建议的答案,但我有一个比上面的示例稍微复杂一些的设置,因此,它无法解决。
我试图避免JQuery Mobile的页面结构,而仅将其用于滑块。关键是,当我切换到另一个页面时,页面创建或页面显示不存在,因此我无法等待这些事件。我想要的是创建一个新的滑块(或者将一个空的div替换为另一个已经存在的div,然后更改以前为空的div的输入id的id。所以剩下的是唯一的新ID的输入(相应的标签)。
我将如何使用该滑动器与新的滑动器进行交互?我尝试了这个:
$('newslider').slider();
$('newslider').on('slidestop', function(){alert("slidestop");});
但这使我在Safari中有了两个滑块,其中一个可以进行滑动停止,而另一个则没有响应。但是,在iOS中,我得到了一个可以滑动的滑块,但不会触发slidestop事件。省略第一行,使我在Safari中没有响应的滑块,而在iOS中不触发。
所以我的问题很简单:如何在不使用JQuery Mobile的页面的情况下为新滑块启用slidestop事件?
您需要将所有事件/绑定包装在中pagecreate
。
$(document).on("pagecreate", function () {
$("#slider-step").on('slidestop', function (event) {
console.log("slidestop event fired");
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句