angular.js - angular給多個button綁定同一個事件
漂亮男人
漂亮男人 2017-05-15 17:12:48
0
4
782


想用angular 給這幾個button 綁定同一個事件。
但是不想用這樣的方法

漂亮男人
漂亮男人

全部回覆(4)
世界只因有你

在外層的p綁定ng-click,把angular自帶的$event物件傳入。

<p ng-click="changeMode($event);">
    <button class="btn btn-primary btn-sm">111</button>
    <button class="btn btn-primary btn-sm">222</button>
    <button class="btn btn-primary btn-sm">333</button>
    <button class="btn btn-primary btn-sm">444</button>
</p>

controller裡面接收$event,在$event裡可以使用target物件判斷點擊的是哪個按鈕

$scope.changeMode = function($event){
    $event.target
};

ps:有兩點建議:
1、少年,這個跟事件委託的原理是一樣的,js基礎功不行啊,不要一味地追求什麼新框架,好好補補基礎吧。
2、少年,養成良好的程式設計習慣,按鈕就寫button標籤,不要span。雖然bootstrap在樣式上幫你都處理好了,但這是一個很差的程式設計習慣。

淡淡烟草味

使用 uib-btn-radio
http://angular-ui.github.io/b...

阿神

NG內建mini版本的jq.

如果不用那種方案,你可以把這一對程式碼寫成一個循環。這段冗餘程式碼,你可以看出來對應關係
可以定義一個物件字面量:

$scope.types = {
  'primary':'全部时间',
  'success':'最近3天',
  'info':'最近一周',
  'warning':'最近一月',
  'danger':'最近半年'
}

<span ng-repeat="(cla,txt) in types" class="btn btn-sm btn-{{cla}}" ng-click="changeMode()">{{txt}}</span>
PHPzhong

你的需求是什麼?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板