You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue 3(Nuxt 3)项目中@submit.prevent在移动端浏览器失效问题求助

Vue 3(Nuxt 3)项目中@submit.prevent在移动端浏览器失效问题求助

各位大佬好,我最近在Nuxt 3环境里写了个简单的Vue 3登录组件,遇到了个特别头疼的问题:我给表单加了@submit.prevent="login()"来阻止默认的页面刷新行为,桌面端浏览器里完全正常,但到了移动端不管是iOS的Safari/Chrome,还是Android的Chrome,不管点击提交按钮还是按回车,页面都会直接刷新,完全没触发我写的login逻辑,也没拦住默认行为。

我试过各种办法,比如在login函数里手动调用event.preventDefault(),甚至把指令改成@submit.prevent.stop,但都没用。下面是我的组件代码,麻烦大家帮忙看看问题出在哪,万分感谢!

<template>
  <div class="login">
    <h1>Log in</h1>
    <form class="login-form" @submit.prevent="login()" id="form">
      <label for="email">Email</label>
      <input type="email" name="email" id="email" v-model="email" />
      <label for="password">Password</label>
      <input type="password" name="password" id="password" v-model="password" />
      <button type="submit" id="submit">Log in</button>
    </form>
  </div>
</template>

<script setup lang="ts">
const email = ref("");
const password = ref("");

async function login() {
  // Login logic
}
</script>

<style lang="scss" scoped>
</style>

备注:内容来源于stack exchange,提问作者Rasmus Lian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:54:36