Подключаю Alpine.js как в доке:
<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.js" defer></script>
И, в общем то, этого достаточно для дальнейшей работы.
Вот есть такое поле ввода:
<input type="number" x-data="{}" @input="if( $event.data === 'e' ) { $el.value = $el.value.replace('\[e]\i', '') }">
Ввожу числа, но затем, если ввести символ "e", поле полностью очищается. Странно, что перед проверкой условия, значение $el.value пустое только при вводе этого символа. И очистка поэтому собственно, и производится.
Как можно задать условие на чистом JS, чтобы не пропускать символ "e", а также плюс и минус? И чтобы работало без бага очистки.
Я так понимаю это особенности type="number"? Так как и без alpine, на JS очистка производится, вот пример:
https://jsfiddle.net/kickerock/d2nLqcgh/2/