Angular版本v1.5.8,看如下代码:
<body> <div ng-controller="ctrl"> <form> <input type="text"> <button ng-click="ch()">点击</button> </form> </div> <script type="text/javascript"> var app = angular.module("app", []); app.controller("ctrl", function($scope) { $scope.ch = function() { console.log("hello world"); }; }); </script></body>
当你聚焦输入框的时候,按回车,神奇的事情发生了:控制台竟然输出hello world
,这意味着angular捕获了input的回车事件,并且用button的处理器来处理。然而,如果你把<button ng-click="ch()">点击</button>
换成<div ng-click="ch()">点击</div>
,就没有我说的这种现象了。
请教高手来解答下,这究竟是什么原因导致的?
相关分类