按钮ng-click和ng-keyup的IE10事件处理

Jas*_* O. 3 javascript internet-explorer-10 angularjs angularjs-ng-click

在我的HTML文件中,我有一个文本框和一个按钮,它们没有任何关联.奇怪的是,当我在文本框中输入文本并按下键盘上的Enter键时,它实际上运行了连接到按钮的 ng-click属性的功能.这只是发生在IE10,但不IE11或任何其他的browers.

知道为什么会这样吗?

HTML

<h3>Group Fields  <input id="groupfields" ng-keyup="fr_group_update($event)"  ng-model="groupfields"></h3>

<div>
  <button ng-click="purge_tasks()">Purge Selection</button> <br/>
</div>
Run Code Online (Sandbox Code Playgroud)

调节器

$scope.fr_group_update = function(event){ 
    if (event.keyCode === 13) {
        alert("This should run");
    }
};

$scope.purge_tasks = function(event){ 
    alert("This runs instead");
};
Run Code Online (Sandbox Code Playgroud)

Mic*_*ord 5

IE10 似乎处理没有type属性的按钮,就好像它们是提交按钮一样.因此,当您在页面上的任何输入上按Enter键时,它会触发它找到的第一个按钮.

您可以通过将type属性显式设置为button:

<button type="button" ng-click="purge_tasks()">Purge Selection</button>
Run Code Online (Sandbox Code Playgroud)