那么有没有办法在输入范围元素上禁用mousedown和/或click事件,但同时让用户拖动滑块并仍然触发更改事件?禁用点击线但仍然可以拖动滑块.我想阻止用户在滑块中间跳转(使用mousedown/click),但我想让它们拖动它以便更改值.
<input id="slider" name="slider" type="range" value="-1" min="-1" max="30" step="1" />
Run Code Online (Sandbox Code Playgroud)
这没有帮助,因为变更范围被调用并弄乱了数字.
$slider.on('mousedown', function(event) {
//event.preventDefault();
this.value = -1;
/* Act on the event */
console.log("mousedown");
});
$slider.on('click', function(event) {
event.preventDefault();
this.value = -1;
/* Act on the event */
console.log("click");
});
Run Code Online (Sandbox Code Playgroud)
如果我调用event.preventDefault(); 在mousedown滑块上不起作用,无法拖动.有没有办法解决这个问题.
我试图在HTML中重新创建这种效果是否有任何jquery效果这种缩放?
我想设置flexslider,以便在鼠标悬停时启动/恢复自动幻灯片放映并在mouseout上暂停.恰好是正常行为的对立面.:d
所以我有这个问题:TypeError:'undefined'不是一个函数(评估'slider.resume()')并且在互联网上搜索没有产生任何结果.
我的脚本是:
$( document ).ready(function() {
var $slider = $('.flexslider');
$slider.flexslider({
controlNav: false,
directionNav: false,
slideshow: true,
slideshowSpeed: 500,
animationSpeed: 300,
/*randomize: true,*/
controlsContainer: ".flex-container",
start: function(slider) {
slider.pause();
slider.mouseover(function() {
slider.resume();
});
},
});
Run Code Online (Sandbox Code Playgroud)
});
任何指向正确方向的指针都会有所帮助.
卢卡
*更新......我找到了一个有效的解决方案...如果有人想知道的是:
start: function(slider) {
slider.pause();
slider.manualPause = true;
$slider.mouseover(function() {
slider.manualPause = false;
slider.play();
});
$slider.mouseout(function() {
slider.manualPause = true;
slider.pause();
});
}
Run Code Online (Sandbox Code Playgroud)
卢卡