Chrome и Firefox запускают события щелчка по элементу select одновременно с открытием его меню параметров, но Safari не запускает событие, пока меню параметров не закрывается.Мне нужно событие клика, чтобы немедленно запустить клик, какой-нибудь обходной путь?
Я тестировал на Safari 9 и 10. Вот скрипка: https://jsfiddle.net/hafez/nm3170v5/
<div id="app">
<select @click="runTest($event)" v-model="selectedValue">
<option value>select to check your browser</option>
<option value="1">first</option>
<option value="2">second</option>
</select>
</div>
new Vue({
el: "#app",
data: {
selectedValue: ''
},
methods: {
runTest(event) {
if(event.target.value) {
alert("It's too late to show an alert! I said on-clik stupid browser!");
} else {
alert("Alert on time! Good job dear browser!");
}
this.selectedValue = '';
}
}
})
Примечание : В моем реальном коде я должен stopPropagation
и preventDefault
, используя click.stop.prevent
, поэтому решение должно удовлетворять этому условию.