Отменить дочерний объект KendoUI Draggable
Как отменить перетаскивание зеленого объекта div в приведенном ниже примере
например: http://jsfiddle.net/86yTG/3/
HTML:
<div class="drag">
<div class="not-drag"></div>
</div>
ЯШ:
$(document).ready(function () {
$('.drag').kendoDraggable({
hint: function(e){
return e.clone();
}
});
});
CSS:
.drag{
width: 300px;
height: 200px;
background-color: red;
}
.not-drag{
width: 100px;
height: 50px;
background-color: green;
}
Я хочу какую-то опцию как опцию отмены как опцию перетаскиваемого JQueryUI
http://jqueryui.com/draggable/
$( "#draggable2" ).draggable({ cancel: "p.ui-widget-header" });
Я пытаюсь сбросить событие по умолчанию для объекта, но это сбой, если вводится ".not-drag", textarea, потому что я не могу редактировать их по умолчанию
$('.drag').on('mouseenter mouseover mousemove mouseout mouseleave click dblclick change dragstart hold dragend dragcancel drag', '.not-drag', function(e) {
console.debug(e);
e.preventDefault();
e.stopPropagation();
});
или же:
$('.drag').off('mouseenter mouseover mousemove mouseout mouseleave click dblclick change dragstart hold dragend dragcancel drag', '.not-drag');
1 ответ
Решение
Вы почти получили это! Проблема в том, что ты звонил e.preventDefault()
который отключает редактирование ввода. Вам нужно только e.stopPropagation()
чтобы избежать появления событий DOM для перетаскиваемого элемента. И вам нужно только мусс и мышью.
$('.drag').on('mousedown mouseup', '.not-drag', function(e) {
e.stopPropagation();
});
Вот обновленная демка: http://jsfiddle.net/86yTG/4/