我正在使用ngDraggable模块,并且一切正常,但输入框被置于可拖动的div内时会被禁用。我需要它们保持可编辑状态,以便用户可以输入文本。
我为了演示目的分叉了一个现有的小提琴 http://jsfiddle.net/kkyk0j4x/10/
%SystemRoot%\System32\inetsrv\config\redirection.config
不完全确定问题的来源以及如何解决问题。任何帮助表示赞赏。
答案 0 :(得分:1)
我发现了问题的来源,并希望这有助于某人。 在ngDraggable模块内,mouseDown事件中有一个preventDefault函数。
只需注释掉该行,您在HTML中的可拖动元素中的输入框就会变得可编辑。
// Bind mousedown event
elem.on('mousedown', function (e) {
//e.preventDefault();
.......
UPD(@Andremoniy):在最新版本的ngDraggable
插件中,此地点位于函数onlongpress
中:
var onlongpress = function(evt) {
if(! _dragEnabled)return;
//evt.preventDefault(); <---- this line
答案 1 :(得分:0)
使用最新版本的ngDraggable,您必须在包含可编辑元素或需要其他鼠标交互作用的元素上定义ng-cancel-drag="true"