Javascript 在jQuery UI中防止鼠标掉落
我有一个可拖动的元素,可以放在div中Javascript 在jQuery UI中防止鼠标掉落,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,我有一个可拖动的元素,可以放在div中 function trashCan(){ $('#trashCan').droppable({ accept: '.tbDocument', drop: function(ev, ui) { console.log("dropped"); //justDropped set to true justDropped = true;
function trashCan(){
$('#trashCan').droppable({
accept: '.tbDocument',
drop: function(ev, ui) {
console.log("dropped");
//justDropped set to true
justDropped = true;
var idProcessed = parseInt($(ui.draggable).data('id'));
var tbl = $(ui.draggable).data('tbl');
var idPrevious = parseInt($(ui.draggable).data('oldid'));
var name = $(ui.draggable).data('name');
var trash = 'Papierkorb';
var blank = '';
var projectName = $(this).data('project');
var subProjectName = $(this).data('subproject');
setMessageBox(name,blank,trash,idProcessed,tbl,idPrevious);
deleteMe = true;
overviewBL.updateIdProcessed(idProcessed,tbl,-1,1);
$(this).css('background-color', '');
$(this).effect("highlight", {color: '#97d700'}, 1000);
$(ui.helper).remove();
$(ui.draggable).remove();
},
over: function(ev,ui){
$(this).css('background-color', '#97d700');
},
out: function(ev,ui){
$(this).css('background-color', 'white');
}
});
当我开始拖动时,上面的函数由draggable元素调用
html.draggable({
cursor: "-webkit-grabbing",
helper: 'clone',
revertDuration: 500,
revert: true,
appendTo: 'body',
opacity: 1.0,
start: function(event, ui) {
$(this).css('background-color', '#E0E0E0');
ui.helper.css('background-color', '#E0E0E0');
ui.helper.css('margin', '0');
ui.helper.css('z-index', '9999');
trashCan();
justDropped = false;
},
stop: function(event,ui) {
$(this).css('background-color', '#ffffff');
//if not dropped on trash
if (!justDropped){
overviewGUI.preview(id,tbl);
}
}
});
到目前为止,Drop正在运行,但我想添加一些事件。Mousedown和Mouseup。
我希望在单击可拖动元素时调用创建可拖放div的函数。如果没有删除它,我希望加载另一个函数,所以我实现了以下
$(document).on("mousedown", ".tbDocument", function(e) {
console.log('drag');
$(this).draggable();
overviewGUI.createCan();
});
$(document).on("mouseup", ".tbDocument", function(e) {
console.log('drag');
overviewGUI.preview($(this).data('id'),$(this).data('tbl'));
});
没有添加这些功能来阻止下降。如果我添加鼠标,它将不起作用。为什么会这样 在鼠标已经落下后再连接Dragable已经太晚了。是鼠标垫阻止了鼠标的下落。鼠标镇不是最重要的problem@Silve2611您能否提供MCVE复制您的问题?只有相关的代码,而不是所有不相关的代码。顺便说一句,我想说epascarello是对的,如果在我无法提供MCVE的那一刻你还没有在ITA上初始化插件,那就太晚了。为什么mouseup事件会阻止我的元素掉落。我不明白?