在 1.5 版中,AngularJS 的 angular-ui 中的树控件存在问题。Treecontrol 具有称为on-selection 的指令,该指令检测“Enter”或鼠标单击并将选项从 treecontrol 发送到输入。我希望“Space”键具有相同的行为,但我不知道如何将它添加到 treecontrol。此外,正常的 ng-keypress 不起作用。我无法修改任何 angular-ui 文件。有人知道该问题的解决方案吗?
编辑:代码:
template: '<div class="autocomplete"><treecontrol class="tree-light" tree-model="source" options="ctrl.treeOptions" filter-expression="filter" expanded-nodes="expandedNodes" on-selection="nodeSelect(node)" ng-keypress="spaceClicked($event)">' +
'<span><i class="enms enms-{{node.type}}"></i>{{node.name | translate}}</span></treecontrol></div>',
link: function(scope, elem, attrs, ctrl) {
this.ctrl = ctrl;
scope.nodeSelect = function (node) {
// Element selektieren
scope.onSelect()(node);
};
scope.spaceClicked = function (event) {
console.log("Clicked: ");
console.log(event.keyCode);
};
当用户开始在输入中输入任何内容时,treecontrol 将出现并显示匹配的选项(屏幕 1)。现在用户需要在选项上单击鼠标或单击“Enter”按钮将选项添加到输入(屏幕 2)。我也想为“空格”键获得相同的行为。我希望现在我的问题很清楚:)