Safari не запускает событие нажатия на элементе вовремя - PullRequest
0 голосов
/ 28 мая 2018

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, поэтому решение должно удовлетворять этому условию.

1 Ответ

0 голосов
/ 28 мая 2018

Попробуйте mousedown вместо click ( Fiddle ).


ПРИМЕЧАНИЯ :

click afaik запустит событие при отпускании кнопки мыши, тогда как mousedown запустит событие при нажатии кнопки мыши.Это может быть причиной задержки выполнения обработчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...