我在 angularJS 中有一个这样的表单:
<form>
<div class="row form-group">
<div class="col-xs-4">
<label>Product name:</label>
</div>
<div class="col-xs-8">
<input ng-model="vm.name" ng-disabled="vm.product.name">
</div>
</div>
<button ng-hide="1" ng-click="vm.addName()"></button>
</form>
其想法是,当用户输入名称时,表单会锁定该名称(在 addName() 内)并执行 API 调用来搜索关联数据。在 Firefox 和 Chrome 中,这工作得很好,但点击事件在 Internet Explorer 中永远不会触发。有解决方法吗?
我只需要一种方法,当在表单字段内的输入上按“enter”时触发单击事件。有没有办法让此功能成为 Internet Explorer 中的默认功能?
最佳答案
在表单内的输入上按 Enter 时的默认行为是提交表单或单击提交按钮,具体取决于浏览器。如果有一个按钮没有类型并且没有提交按钮,则该按钮可能被浏览器更改为提交按钮。
要获得一致的结果,请将按钮更改为提交按钮,并将 addName 调用移至表单的提交事件。
<form ng-submit="vm.addName()">
<div class="row form-group">
<div class="col-xs-4">
<label>Product name:</label>
</div>
<div class="col-xs-8">
<input ng-model="vm.name" ng-disabled="vm.product.name">
</div>
</div>
<button ng-hide="1" type="submit"></button>
</form>
关于javascript - 使用 angularJS 单击 Internet Explorer 中的输入表单功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30741374/