Nat*_*teW 5 javascript jquery jquery-ui
我需要在Slick-slider中有一个jQuery UI可拖动元素.我知道jQuery UI有句柄选项http://jqueryui.com/draggable/#handle但是我不知道如何将它应用于光滑滑块.
我发现了这个问题:jQuery UI Slider干扰与光滑的轮播,但它使用jQuery UI的slider选项.当我在我的例子中做了类似的事情时,我能够禁用光滑滑块拖动...但是我的可拖动元素仍然无法拖动.
JSfiddle:http://jsfiddle.net/NateW/u1burczm/
如果仅在其中一个draggable元素内部仍然具有draggable可拖动的元素时,如何禁用光滑滑块上的拖动?
HTML:
<div class="wrapper-slider">
<div>
<div id="draggable" class="ui-widget-content">
<p>Drag me around</p>
</div>
<div id="draggable" class="ui-widget-content">
<p>and me!</p>
</div>
</div>
<div><h3>1</h3><h3>1</h3><h3>1</h3></div>
<div><h3>2</h3><h3>2</h3><h3>2</h3><h3>2</h3></div>
<div><h3>3</h3><h3>3</h3></div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
$('.wrapper-slider').slick({
dots: false,
infinite: false,
centerPadding: "20px",
speed: 300,
slidesToShow: 1,
adaptiveHeight: true
});
$(function() {
$( ".draggable-element" ).draggable();
});
$(".draggable-element").on("draggable mouseenter mousedown",function(event){
event.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
小智 15
要使其工作,您需要取消绑定由光滑滑块注册的dragstart事件,如在将draggble绑定到元素之前跟随
$('.wrapper-slider').slick({
dots: false,
infinite: false,
centerPadding: "20px",
speed: 300,
slidesToShow: 1,
adaptiveHeight: true
});
$(function() {
$('*[draggable!=true]','.slick-track').unbind('dragstart');
$( ".draggable-element" ).draggable();
});
$(".draggable-element").on("draggable mouseenter mousedown",function(event){
event.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
这里是工作jsfiddle http://jsfiddle.net/samcoolone70/u1burczm/3/