Faites glisser et déposez les événements dans incorporé SVG?
Est-il possible de recevoir des événements de glisser-déplacer à partir d'éléments SVG dans une page web?
J'ai essayé Google Fermeture de la bibliothèque, en vain.
Plus précisément, supposons que ma page contient
<ul id = "list">
<li class="item" id="item1">foo</li>
<li class="item">bar</li>
<li class="item">baz</li>
</ul>
Et mon script contient (Clojurescript/C2)
(let [items (select-all ".item")
lst (select "#list")
target (fx/DragDrop. lst nil)]
(dorun (map
(fn [item]
(let [source (fx/DragDrop. item nil)]
(. source (addTarget target))
(. source (init))))
items))
(. target (init)))
Puis je ne obtenir une image de glisser (ghost), bien que je n'arrive pas à recevoir les événements de glisser par exemple en faisant
(on-raw "#item1" :dragstart (fn [e] (.log js/console (str "dragstart " e))))
L'aide d'un code similaire pour les éléments SVG, je n'ai même pas obtenir un fantôme...
Un indice?
Grâce
OriginalL'auteur Rom1 | 2012-09-05
Vous devez vous connecter pour publier un commentaire.
Faites glisser les événements ne sont pas pris en charge sur les Éléments SVG: http://www.w3.org/TR/SVG/svgdom.html#RelationshipWithDOM2Events.
Vous pouvez truquer les événements de glisser avec la souris les événements, voir http://svg-whiz.com/svg/DragAndDrop.svg (voir la source).
L'opéra prend en charge les événements de glisser sur les éléments svg (le même que pour les autres éléments HTML5).
En effet, elle ne! Le problème est que mon code, ou C2, ou Google de fermeture et d'Opéra ne semblent pas très bien (j'ai d'étranges erreurs liées à
webkitMatchesSelector
ou quelque chose...). Savez-vous si d'autres navigateurs vont emboîter le pas?Aussi, il semble que le Chrome n'a le feu au moins quelques événements de glisser, mais ne tire pas des fantômes. Est-il un moyen de dépannage?
Est-ce toujours le cas? Beaucoup de temps a passé..
OriginalL'auteur Duopixel
Vous pouvez toujours le mettre en œuvre. Fondamentalement, vous devez vérifier si l'élément est de toucher un autre lorsque vous faites glisser:
Et il fonctionne dans tous les navigateurs. Espérons que cela aide 🙂
OriginalL'auteur Ricardo Anjos