javascript - 取消KendoUI可拖动的子对象

标签 javascript jquery-ui kendo-ui draggable

如何在下面的示例中取消拖动绿色 div 对象

例如:http://jsfiddle.net/86yTG/3/

html:

<div class="drag">
    <div class="not-drag"></div>
</div>

js:

$(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/#handle

 $( "#draggable2" ).draggable({ cancel: "p.ui-widget-header" });

我尝试重置对象的默认事件,但如果输入“.not-drag”,文本区域会失败,因为我无法将它们编辑为默认值

$('.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');

最佳答案

你差点就明白了!问题是您正在调用 e.preventDefault() ,这会禁用输入编辑。您只需要 e.stopPropagation() 来避免 DOM 事件冒泡到可拖动元素。而且您只需要 mousedown 和 mouseup。

$('.drag').on('mousedown mouseup', '.not-drag', function(e) {
    e.stopPropagation();
});

这是更新后的演示:http://jsfiddle.net/86yTG/4/

关于javascript - 取消KendoUI可拖动的子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21324132/

相关文章:

javascript - Kendoui 模板错误

html - 填满浏览器窗口的 map 和小部件

kendo-ui - 我可以在kendo ui中进行条件绑定(bind)吗

javascript - Vue 范围 slider 使页面无法在移动设备上滚动

javascript - Android 上 HTML 5 的设备方向问题

javascript - 在数组的 javascript 循环中使用对象名称

css - 如何在 jquery-ui datepicker 中设置数字颜色的样式?

javascript - 在 tr 中查找 td 的方法。 (Javascript)

jquery - Chrome 扩展 : opening a jquery UI dialog box from content-script as message event fires

Jquery Ui 选项卡当前容器显示问题