AngularJS tut 16: Sự kiện Event

0
(0)

AngularJS có các chỉ thị sự kiện HTML của riêng nó.


Sự kiện AngularJS

Bạn có thể thêm trình xử lý sự kiện AngularJS vào các phần tử HTML của mình bằng cách sử dụng một hoặc nhiều lệnh sau:

  • ng-blur
  • ng-change
  • ng-click
  • ng-copy
  • ng-cut
  • ng-dblclick
  • ng-focus
  • ng-keydown
  • ng-keypress
  • ng-keyup
  • ng-mousedown
  • ng-mouseenter
  • ng-mouseleave
  • ng-mousemove
  • ng-mouseover
  • ng-mouseup
  • ng-paste

Các chỉ thị sự kiện cho phép chúng tôi chạy các chức năng AngularJS tại các sự kiện người dùng nhất định.

Một sự kiện AngularJS sẽ không ghi đè lên một sự kiện HTML, cả hai sự kiện sẽ được thực thi.


Sự kiện chuột

Sự kiện chuột xảy ra khi con trỏ di chuyển qua một phần tử, theo thứ tự sau:

  1. ng-mouseover
  2. ng-mouseenter
  3. ng-mousemove
  4. ng-mouseleave

Hoặc khi một nút chuột được nhấp vào một phần tử, theo thứ tự sau:

  1. ng-mousedown
  2. ng-mouseup
  3. ng-click

Bạn có thể thêm các sự kiện chuột trên bất kỳ phần tử HTML nào.

Thí dụ

Tăng biến đếm khi chuột di chuyển qua phần tử H1:

<div ng-app="myApp" ng-controller="myCtrl">

<h1 ng-mousemove="count = count + 1">Mouse over me!</h1>

<h2>{{ count }}</h2>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.count = 0;
});
</script>

Hãy tự mình thử »



Hướng dẫn ng-click

Các ng-click định nghĩa chỉ AngularJS mã mà sẽ được thực hiện khi các phần tử đang được nhấp vào.

Thí dụ

<div ng-app="myApp" ng-controller="myCtrl">

<button ng-click="count = count + 1">Click me!</button>

<p>{{ count }}</p>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.count = 0;
});
</script>

Hãy tự mình thử »


Bạn cũng có thể tham khảo một chức năng:

Thí dụ

<div ng-app="myApp" ng-controller="myCtrl">

<button ng-click="myFunction()">Click me!</button>

<p>{{ count }}</p>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.count = 0;
  $scope.myFunction = function() {
    $scope.count++;
  }
});
</script>

Hãy tự mình thử »


Chuyển đổi, Đúng / Sai

Nếu bạn muốn hiển thị một phần của mã HTML khi một nút được nhấp và ẩn khi nút được nhấp lại, giống như menu thả xuống, hãy làm cho nút hoạt động giống như một công tắc bật tắt:

Nhấp vào đây

Thí dụ

<div ng-app="myApp" ng-controller="myCtrl">

<button ng-click="myFunc()">Click Me!</button>

<div ng-show="showMe">
  <h1>Menu:</h1>
  <div>Pizza</div>
  <div>Pasta</div>
  <div>Pesce</div>
</div>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.showMe = false;
  $scope.myFunc = function() {
    $scope.showMe = !$scope.showMe;
  }
});
</script>

Hãy tự mình thử »

Các showMebiến bắt đầu ra như giá trị Boolean false.

Các myFuncchức năng thiết lập showMebiến trái ngược với những gì nó là, bằng công !(không) điều hành.


Đối tượng $ event

Bạn có thể truyền $eventđối tượng làm đối số khi gọi hàm.

Đối $eventtượng chứa đối tượng sự kiện của trình duyệt:

Thí dụ

<div ng-app="myApp" ng-controller="myCtrl">

<h1 ng-mousemove="myFunc($event)">Mouse Over Me!</h1>

<p>Coordinates: {{x + ', ' + y}}</p>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.myFunc = function(myE) {
    $scope.x = myE.clientX;
    $scope.y = myE.clientY;
  }
});
</script>

Hãy tự mình thử »

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Related posts

AngularJS tut 25: Tham khảo thêm về AngularJS

AngularJS tut 24: Làm thử 1 ứng dụng AngularJS

AngularJS tut 23 : AngularJS Routing