Backstory:我想在选择框内显示一个选项元素的更多信息。我计划这样做的方式是将鼠标悬停在一个选项上,并在下面显示有关该选项的更多信息,并且这可行! :)Angular:IE11当使用Multiple Select元素时,带有ng-mouseover选项的ng-repeat无法触发方法
问题:虽然这部作品在IE以外其他浏览器(我在IE11测试了这个问题),但是,它看起来好像IE不会在所有的触发事件。我在这里尝试了不同的ng- {events},看起来没有任何效果。我想知道是否有解决此问题的办法,或者解决此问题的其他方法。我创建了一个问题的例子。一定要在IE11中测试它(这是我需要它在不幸中工作的浏览器)。为什么IE浏览器WHYYY !!!? :(
注意我要找一个角度的解决方案。:)
(function(angular) {
'use strict';
angular.module('ngrepeatSelect', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.data = {
hovered: '',
model: null,
showExtraInformation: function (option) {
this.hovered = option.health;
},
clearExtraInformation: function() {
this.hovered = '';
},
availableOptions: [
{id: '1', name: 'Option A', health: 'Great Health :)'},
{id: '2', name: 'Option B', health: 'Bad Health :('},
{id: '3', name: 'Option C', health: 'Ok Health :|'}
]
};
}]);
})(window.angular);
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example - example-select-ngrepeat-production</title>
<script src="//code.angularjs.org/snapshot/angular.min.js"></script>
<script src="app.js"></script>
<style>
select {height: 100px; width: 200px;}
</style>
</head>
<body ng-app="ngrepeatSelect">
<div ng-controller="ExampleController">
<form name="myForm">
<label for="repeatSelect"> Repeat select: </label>
<select multiple name="repeatSelect" id="repeatSelect" ng-model="data.model">
<option ng-repeat="option in data.availableOptions"
value="{{option.id}}"
ng-mouseover="data.showExtraInformation(option)"
ng-mouseout="data.clearExtraInformation()">{{option.name}}</option>
</select>
</form>
<hr>
<tt>model = {{data.model}}</tt><br/>
<tt>
hover = {{data.hovered}}
</tt>
</div>
</body>
</html>
最好的办法是使用一个UI库(如剑道UI或UI引导),该重新实现下拉菜单,而不是让浏览器呈现正常的选择元素。 –
是的,我正在考虑这个,有点想成为我的最后一招。 – eaglejs