Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
clase:daw:diw:2eval:tema07 [2021/01/06 11:54] admin |
clase:daw:diw:2eval:tema07 [2021/01/06 12:34] admin |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== 7. Drag & Drop ====== | ====== 7. Drag & Drop ====== | ||
+ | El drag & drop es una forma de simplificar los interfaces de usuario. | ||
* Drag & Drop | * Drag & Drop | ||
Línea 5: | Línea 6: | ||
* [[http:// | * [[http:// | ||
- | | + | En el drag & drop siempre hay 2 elementos HTML que son: |
+ | * El elemento que se arrastra | ||
+ | * El elemento donde se suelta | ||
+ | |||
+ | Respecto a los eventos , hay 3 eventos en un drag & drop: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Por último está: | ||
+ | * La propiedad '' | ||
+ | * El objeto de JavaScript '' | ||
+ | |||
+ | Mas información: | ||
+ | | ||
Línea 23: | Línea 38: | ||
</ | </ | ||
< | < | ||
- | function onDragOver(ev) { | ||
- | ev.preventDefault(); | ||
- | } | ||
function onDragStart(ev) { | function onDragStart(ev) { | ||
Línea 31: | Línea 43: | ||
var data=element.innerText; | var data=element.innerText; | ||
- | ev.dataTransfer.setData(" | + | ev.dataTransfer.setData(" |
} | } | ||
+ | |||
function onDrop(ev) { | function onDrop(ev) { | ||
Línea 38: | Línea 51: | ||
var element=ev.target; | var element=ev.target; | ||
- | var data = ev.dataTransfer.getData(" | + | var data = ev.dataTransfer.getData(" |
element.innerText=data; | element.innerText=data; | ||
} | } | ||
+ | | ||
+ | function onDragOver(ev) { | ||
+ | ev.preventDefault(); | ||
+ | } | ||
</ | </ | ||
</ | </ | ||
< | < | ||
- | < | + | < |
<p class=" | <p class=" | ||
- | <br> | ||
<ul> | <ul> | ||
Línea 63: | Línea 78: | ||
</ | </ | ||
+ | * Atributo '' | ||
+ | * Evento '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Evento '' | ||
+ | * Evento '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===== dataTransfer ===== | ||
+ | El objeto '' | ||
+ | |||
+ | |||
+ | Para guardar el dato, se usa: | ||
+ | ev.dataTransfer.setData(" | ||
+ | Para obtener el dato, se usa: | ||
+ | var data = ev.dataTransfer.getData(" | ||
+ | | ||
+ | | ||
+ | Sin embargo , podemos pensar que no es muy útil ya que se podría usar directamente una variable de JavaScript. En ese caso vamos a usar una variable global llamada '' | ||
+ | |||
+ | <sxh javascript> | ||
+ | var dragData=""; | ||
+ | |||
+ | function onDragOver(ev) { | ||
+ | ev.preventDefault(); | ||
+ | } | ||
+ | |||
+ | function onDragStart(ev) { | ||
+ | var element=ev.target; | ||
+ | dragData=element.innerText; | ||
+ | } | ||
+ | |||
+ | function onDrop(ev) { | ||
+ | ev.preventDefault(); | ||
+ | |||
+ | var element=ev.target; | ||
+ | |||
+ | element.innerText=dragData; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ¿cual es la diferencia entre usar '' | ||
+ | |||
+ | Sin embargo la ventaja de usar la variable es que podemos almacenar mas cosas que un simple texto. | ||