¿Por qué HTML5 arrastrar y soltar dragImage no se muestra cuando está oculto?

He tenido un problema al configurar 'imagen de arrastre' en HTML5 arrastrar y soltar como div elemento. El problema es que cuando helper - 1er argumento de setDragImage(ayudante, x, y) la función no se presenta en el dom o está oculta, no es visible cuando se activa el evento 'dragstart'. Echa un vistazo a mi violín: http://jsfiddle.net/AemN5/10/

En el violín, estoy representando el ayudante (está coloreado en amarillo), luego trato de arrastrar el cuadro arrastrable verde, el ayudante se adjunta al mouse cuando comienza el arrastre. Sin embargo, intente hacer clic en el botón sobre el ayudante para ocultar el ayudante. Luego intente nuevamente arrastrando el cuadro arrastrable verde; no hay ningún ayudante conectado a mi mouse.

Cualquier idea de por qué está sucediendo y más importante ¿Como resolver el problema? Como mi objetivo principal es tener un ayudante invisible y solo cuando el usuario comience a arrastrar, hacerlo visible adjunto al cursor.

preguntado el 03 de mayo de 12 a las 09:05

2 Respuestas

Aquí hay una posible solución http://jsfiddle.net/AemN5/12/

contestado el 03 de mayo de 12 a las 14:05

Se ve bien, especialmente cuando agrega desbordamiento: elemento oculto al cuerpo. - nik sumeiko

Prueba a hacerlo asi..
Chrome requiere que la imagen se muestre al menos hasta que se inicie el arrastre.

$("[draggable]").on("dragstart", function(e) {
    $("#img1").show();

    e.originalEvent.dataTransfer.setDragImage(helper, 50, 50);

    setTimeout(function(){
        $("#img1").hide();
    },0);
});

Respondido 17 Jul 13, 07:07

El evento dragstart no funciona en Magento 2. ¿Tienes alguna idea? - Dhaduk Mitesh

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.