У меня есть сценарий использования, где мне нужно открыть новую вкладку по выбору пользователя в select.
<select ng-model="selected" ng-click="switchAction(data.id, selected)">
<option disabled hidden selected value=""></option>
<option value="run">1</option>
<option value="edit">2</option>
<option value="deleteEnvironment">3</option>
<option value="addSoftware">4</option>
<option value="openLandingPage">5</option>
</select>
Javascript:
function switchAction(id, selected) {
vm[selected](id);
}
vm.openLandingPage = function (id) {
window.open(vm.landingPage + "?id=" + id);
};
Этот код отлично работает в Chrome и Firefox, но не в Safari. Это может быть частично решено, если я заменю ng-click
на ng-change
. Но тогда браузер блокирует всплывающее окно. Поскольку я рендерил этот код внутри ячейки сетки, выпадающий список начальной загрузки тоже не работает. Я пытался поставить ng-click
непосредственно в элементе option, но он работает только в firefox.
Есть ли способ это исправить?
Следуя указаниям плунжера, сафари не отправляет событие щелчка мышью.
https://plnkr.co/edit/g3W2JLKxZFkzp1dGgrg4?p=preview