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>
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top