jQuery UI selectable 事件不会在 draggable 上触发
jQuery UI selectable event is not triggered on draggable
我实现了 jQuery UI 可拖动和 select 可用。当我有两个组件都初始化时,我 select 其中一个,如果我在没有释放鼠标的情况下单击另一个组件并开始拖动它,那么 "ui-selected" class 将从另一个组件,但它在任何情况下都没有进入 selectable。
我需要一个方法或事件,在我上面描述的操作之后进入。
可选:
Selectable: {
init: function(el) {
$(el).selectable({
filter: '.existing-component',
selecting: function (event, ui) {
$(event.target).children('.ui-selecting').find('.existing-component').removeClass('ui-selecting');
},
stop: function(event, ui) {
console.log('stop');
});
start: function(event, ui) {
console.log('start');
});
});
// manually trigger the "select" of clicked elements
$(el).find('.existing-component').click( function(e){
.
.
.
$(el).selectable('refresh');
$(el).data("ui-selectable")._mouseStop();
});
}
}
可拖动:
Draggable: {
init: function(el, options) {
$(el).draggable(options, {
scroll: false,
snap: '.gridlines',
snapTolerance: $('.grid').attr('data-size') / 2,
// revert: "invalid",
preventCollision : true,
preventProtrusion : false,
collisionVisualDebug : false,
drag: function(event, ui) {
console.log('drag')
}
});
}
}
我找到了我的方法,在上述操作中进入 Draggable.start 事件并且仍然选择了上一个组件。
我实现了 jQuery UI 可拖动和 select 可用。当我有两个组件都初始化时,我 select 其中一个,如果我在没有释放鼠标的情况下单击另一个组件并开始拖动它,那么 "ui-selected" class 将从另一个组件,但它在任何情况下都没有进入 selectable。
我需要一个方法或事件,在我上面描述的操作之后进入。
可选:
Selectable: {
init: function(el) {
$(el).selectable({
filter: '.existing-component',
selecting: function (event, ui) {
$(event.target).children('.ui-selecting').find('.existing-component').removeClass('ui-selecting');
},
stop: function(event, ui) {
console.log('stop');
});
start: function(event, ui) {
console.log('start');
});
});
// manually trigger the "select" of clicked elements
$(el).find('.existing-component').click( function(e){
.
.
.
$(el).selectable('refresh');
$(el).data("ui-selectable")._mouseStop();
});
}
}
可拖动:
Draggable: {
init: function(el, options) {
$(el).draggable(options, {
scroll: false,
snap: '.gridlines',
snapTolerance: $('.grid').attr('data-size') / 2,
// revert: "invalid",
preventCollision : true,
preventProtrusion : false,
collisionVisualDebug : false,
drag: function(event, ui) {
console.log('drag')
}
});
}
}
我找到了我的方法,在上述操作中进入 Draggable.start 事件并且仍然选择了上一个组件。