在我的AngularJS应用程序中,我有一个带有一些文本和可用关键字列表的文本区域。
当用户拖动一个特定单词并将其放入文本区域内时,该单词应插入到拖放位置。
对于简单的演示-尝试在浏览器中选择一些文本,并将其拖动到页面中的任何输入字段-文本正好插入到放置位置。
我想实现同样的功能。我该怎么办?
为了使用HTML5 DND和angular,我使用了这把小提琴的指令-http://jsfiddle.net/jgoemat/NWnF8/
module.directive('draggable', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element[0].addEventListener('dragstart', scope.handleDragStart, false);
element[0].addEventListener('dragend', scope.handleDragEnd, false);
}
}
});
module.directive('droppable', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element[0].addEventListener('drop', scope.handleDrop, false);
element[0].addEventListener('dragover', scope.handleDragOver, false);
}
}
});
$scope.$digest();
http://jsfiddle.net/NWnF8/11/
阅读有关$digest
的更多信息。https://docs.angularjs.org/api/ng/type/$rootScope。范围