Как сделать полимерный элемент перетаскиваемым
Я пытаюсь включить HTML5 перетаскивание на пользовательский элемент полимера, но он не работает. Без полимера можно просто добавить атрибут draggable
.
Вот мой код в Dart:
my_component.html
<polymer-element name="my-component">
<template>
<style>
@host {
:scope {
display: block;
}
}
div {
background-color: red;
width: 200px;
height: 200px;
}
</style>
<div>
Drag me
</div>
</template>
<script type="application/dart" src="my_component.dart"></script>
</polymer-element>
my_component.dart
import 'package:polymer/polymer.dart';
@CustomTag('my-component')
class MyComponent extends PolymerElement {
MyComponent.created() : super.created();
}
test.html
<!DOCTYPE html>
<html>
<head>
<link rel="import" href="my_component.html">
<script type="application/dart">import 'package:polymer/init.dart';</script>
<script src="packages/browser/dart.js"></script>
</head>
<body>
<my-component draggable="true"></my-component>
</body>
</html>
Я также попытался продолжить прямо из HTML-элемента. Это тоже не сработало.
Любые идеи о том, как полимерный элемент можно перетаскивать?
Изменить: для этого есть Отчет об ошибках.
Ответы
Ответ 1
Я знаю, что это довольно датировано, но я оставляю это здесь для других, кто может смотреть. В Polymer теперь есть основной элемент для перетаскивания поддержки: https://github.com/Polymer/core-drag-drop. Существует файл demo.html, чтобы показать вам, как его использовать.
Ответ 2
Для Polymer 1.0/2.0
Большинство ответов здесь решают ответить OP для Polymer v0.5 [устаревшие]. Основные элементы с префиксом не будут работать для Polymer 1.0 или 2.0.
Обратитесь к sortablejs, который поддерживает перетаскивание на основе полимера.
Ответ 3
чтобы мои элементы Полимера были перетаскиваемы. Я использовал библиотеку JS Draggabilly, в моем случае полимерные компоненты также были в сетке, поэтому я использовал его в сочетании с Packery
Ответ 4
"Полимерные жесты" могут быть использованы для создания полимерного компонента перетаскиваемого.
- Inherit Polymer.GestureEventListeners
- Добавить прослушиватель событий трека:
<div id="dragme" on-track="handleTrack"></div>
Подробный образец уже представлен на странице "События жестов полимера" .