Mootools:Arraste e Solte problema
-
08-06-2019 - |
Pergunta
Eu já fiz essa pergunta para os fóruns sobre o Mootools site e uma pessoa disse que minha classe seleção estava corrompida diante de um administrador veio e mudou meu post status inválido.Escusado será dizer que isso não ajuda muito.Eu lançados, em seguida, um grupo do google para a mootools com nenhuma resposta.A minha pergunta é por que não o 'enter', 'deixar', 'gota' de eventos de fogo para o meu '.drop' elementos?Os eventos do .arraste os elementos estão trabalhando.
<title>Untitled Page</title>
<script type="text/javascript" src="/SDI/includes/mootools-1.2.js"></script>
<script type="text/javascript" src="/SDI/includes/mootools-1.2-more.js"></script>
<script type="text/javascript" charset="utf-8">
window.addEvent('domready', function() {
var fx = [];
$$('#draggables div').each(function(drag){
new Drag.Move(drag, {
droppables: $$('#droppables div'),
onDrop: function(element, droppable){
if(!droppable) {
}
else {
element.setStyle('background-color', '#1d1d20');
}
element.dispose();
},
onEnter: function(element, droppable){
element.setStyle('background-color', '#ffffff');
},
onLeave: function(element, droppable){
element.setStyle('background-color', '#000000');
}
});
});
$$('#droppables div').each(function(drop, index){
drop.addEvents({
'enter': function(el, obj){
drop.setStyle('background-color', '#78ba91');
},
'leave': function(el, obj){
drop.setStyle('background-color', '#1d1d20');
},
'drop': function(el, obj){
el.remove();
}
});
});
});
</script>
<form id="form1" runat="server">
<div>
<div id="draggables">
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
<div class="drag"></div>
</div>
<div id="droppables">
<div class="drop"></div>
<div class="drop"></div>
<div class="drop"></div>
<div class="drop"></div>
<div class="drop"></div>
<div class="drop"></div>
</div>
</div>
</form>
Solução
Ok, parece que há um par de problemas aqui.Tanto quanto eu posso dizer, não há nenhuma tal coisa como um "soltar" em mootools.Isso significa que seu eventos como o 'enter', 'deixar' e 'drop' não funciona.(Esses são os eventos sobre o arraste de objeto)
Se você alterar os nomes para eventos que elementos em mootools ter (como em DOM eventos) seu código funciona perfeitamente.Por exemplo, se você alterar o 'enter' e 'sair' para 'mouseover' e 'mouseout', o fogo de eventos com nenhum problema.(Opera 9.51 no Windows Vista)
Este parece ser aplicáveis a linha na documentação para isto, que as estatísticas para usar o DOM de eventos.
http://docs.mootools.net/Element/Element.Event#Element:addEvents
Além disso, nessa página, é um link para os eventos que regular elementos podem ter
http://www.w3schools.com/html/html_eventattributes.asp
No entanto, o conselho: "TG em SD" deu no nabble fóruns é provavelmente o melhor.Se você puder, não se preocupe em usar estes eventos.Coloque tudo o que você precisa fazer no close do objeto, e salvar-se a si todos os problemas.
Outras dicas
De acordo com a Mootools Docs, "droppables
"é uma das opções esperado pelo Drag.Move
de classe.Na verdade, esta é a matriz de elementos que interagem com o elemento quando ele é acionado o "drop
," "enter
"e "leave
"do evento.