javascript - Shift 单击以在不使用 Angular Directive(指令)的情况下为对象添加值

标签 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('Coconut')">Coconut</a></li>
</ul>
...

Controller :

...
$scope.addFruit = function(fruitName) {
    $scope.fruitObject.name = fruitName;
};

$scope.fruitObject = {
    name: '',
}

因此,如果我单击 HTML 文件中的链接,它会更改 fruitObject.name。我想添加一个功能,如果我用 shift 键 单击链接,该值将被添加到 fruitObject:

$scope.fruitObject = {
    name: ['Apple', 'Banana']
}
  1. 我可以在不使用 Angular Directive(指令)的情况下执行此操作吗?
  2. 如果我可以/不能,你能写一个示例代码吗?

JSFiddle:http://jsfiddle.net/6QcEc/

最佳答案

根据文档 ngClick可以给你$event可以告诉您是否按下了 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
    }
};

关于javascript - Shift 单击以在不使用 Angular Directive(指令)的情况下为对象添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25046386/

相关文章:

javascript - 我的 setInterval 时间似乎不起作用

javascript - 使用 2 个不同的 href 和 CSS 定位重复 Angular ion-item

javascript - 我如何在 AngularJS 中创建和聚焦新元素?

javascript - 如何在 JavaScript 中查看函数返回值

angularjs - 将变量传递给 Angular 指令

php - Javascript 确认框与 php

javascript - CSS 文件和 Js 文件未使用 https 在 joomla 中加载

javascript - 嵌套指令 - 无法将参数从 Angularjs 中的子指令传递给 Controller ​​方法

javascript - 如何根据从下拉列表中选择的选项注入(inject)指令模板

javascript - 在文本框内添加按钮