Chrome和Firefox在打开select元素的选项菜单时同时触发点击事件,但Safari直到选项菜单关闭才会触发事件。 我需要在点击时立即触发点击事件,有什么解决方法吗?
我在Safari 9和10上进行了测试。 这是jsfiddle链接: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 = '';
}
}
})
注意:在我的实际代码中,我必须使用click.stop.prevent
来停止冒泡和阻止默认行为,因此解决方案应满足这个条件。
注意:在我的实际代码中,我必须使用click.stop.prevent
来停止事件传递和阻止默认行为,因此解决方案应该符合这个条件。
click.stop.prevent
,而mousedown.stop.prevent
则会防止选择器显示其选项菜单。但是您的答案对于这个问题来说是可以接受的。 - Hafez Divandariclick
事件上? - FK82