Javascript 按住Shift键并单击可在不使用角度指令的情况下向对象添加值

Javascript 按住Shift键并单击可在不使用角度指令的情况下向对象添加值,javascript,angularjs,angularjs-directive,dom-events,Javascript,Angularjs,Angularjs Directive,Dom Events,在HTML文件中: ... <ul> <li><a href="#" ng-click="addFruit('Apple')">Apple</a></li> <li><a href="#" ng-click="addFruit('Banana')">Banana</a></li> <li><a href="#" ng-click="addFruit

在HTML文件中:

...
<ul>
    <li><a href="#" ng-click="addFruit('Apple')">Apple</a></li>
    <li><a href="#" ng-click="addFruit('Banana')">Banana</a></li>
    <li><a href="#" ng-click="addFruit('Coconut')">Coconut</a></li>
</ul>
...
因此,如果单击HTML文件中的链接,它将更改fruitObject.name。我想添加一个功能,如果我用shift键单击链接,该值将添加到对象:

  • 我可以不使用角度指令来执行此操作吗
  • 如果我能/不能,你能写一个示例代码吗
  • jshiddle:

    根据文档可以给你一个对象,它可以告诉你是否按下了shift键

    <li><a href="#" ng-click="addFruit('Apple',$event)">Apple</a></li>
                ...
    $scope.addFruit = function(fruitName,$event) {
        $scope.fruitObject.name = fruitName;
        if($event.shiftKey){
             //logic
        }
    };
    
  • ... $scope.addFruit=函数(水果名,$event){ $scope.fruitObject.name=fruitName; if($event.shiftKey){ //逻辑 } };
    不确定如何以角度执行此操作,但您可以随时引用事件对象的
    shiftKey
    属性,以查看是否按住了Shift键。Aha“$Event”是键。谢谢当我用shift键单击链接时,它会选择带块的文本。如何防止选择文本块?可以单独搜索,但您的答案是添加以下样式:-webkit touch callout:无-webkit用户选择:无-khtml用户选择:无-moz用户选择:无-ms用户选择:无;用户选择:无;
    $scope.fruitObject = {
        name: ['Apple', 'Banana']
    }
    
    <li><a href="#" ng-click="addFruit('Apple',$event)">Apple</a></li>
                ...
    $scope.addFruit = function(fruitName,$event) {
        $scope.fruitObject.name = fruitName;
        if($event.shiftKey){
             //logic
        }
    };