Следующее
main.html
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<p id="test" draggable="true">hello world</p>
<script type="application/dart" src="main.dart"></script>
<!-- for this next line to work, your pubspec.yaml file must have a dependency on 'browser' -->
<script src="packages/browser/dart.js"></script>
</body>
</html>
и main.dart
import 'dart:html';
void main() {
var elem = query('#test');
elem.onDragStart.listen((evt) {
evt.clipboardData.setData('text/html', elem.innerHtml);
});
}
производят исключение
The null object does not have a method 'setData'.
NoSuchMethodError : method not found: 'setData'
Receiver: null
Arguments: ["text/html", "hello world"]
Я искал, но не могу найти релевантной информации о том, что я мог делать неправильно, или о clipboardData в dart вообще (даже API ничего не говорит об этой проблеме, а исходный файл dart:html просто указывает на «собственный код "
evt.dataTransfer.setData('text/html', elem.innerHtml);
вам подойдет? - person Chris Buckett   schedule 07.03.2013dataTransfer
— это атрибут, который я ищу. Должно быть, он недавно изменился — он по-прежнемуclipboardData
в документах API, аdataTransfer
выдает мне предупреждение в редакторе, но, похоже, он работает. Спасибо! - person ovangle   schedule 07.03.2013