首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入元素内的vuejs svg元素对单击事件没有反应

输入元素内的vuejs svg元素对单击事件没有反应
EN

Stack Overflow用户
提问于 2021-02-10 19:18:45
回答 1查看 96关注 0票数 0

在输入元素中,我有一个带有链接到方法的@click事件的svg图标。但在点击时,它不会做任何事情。我也尝试过@click.prevent @click.native,但没有成功。将@click放在input元素中,使其在单击输入字段时工作。但是,我只希望在输入字段内的svg图标上触发一个单击事件。感谢你的帮助。

代码语言:javascript
复制
<input
  class="w-full pl-10 pr-3 py-3 border border-transparent leading-5 bg-gray-600 text-gray-100 placeholder-gray-400 focus:outline-none focus:bg-white focus:text-gray-900 sm:text-md transition duration-150 ease-in-out"
  type="text"
  v-model="search"
  @input="$emit('update:inputData', validatedSearch)"
  @keyup.down="onArrowDown()"
  @keyup.up="onArrowUp()"
/>
<div
  class="absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none"
>
  <svg
    xmlns="http://www.w3.org/2000/svg"
    v-show="search.length > 0"
    class="h-5 w-5 text-gray-400"
    stroke="currentColor"
    viewBox="0 0 20 20"
    @click="delSearch()"
  >
    <path
      stroke-linecap="round"
      stroke-linejoin="round"
      stroke-width="2"
      d="M6 18L18 6M6 6l12 12"
    />
  </svg>
</div>
EN

回答 1

Stack Overflow用户

发布于 2021-02-10 19:36:25

来自tailwindcss的pointer-events-none类导致了这个问题,请尝试删除它:

代码语言:javascript
复制
Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',

  data() {
    return {
      search: ""
    }
  },
  methods: {
    delSearch() {
      console.log("delete search");
      this.search=""
    }
  }

})
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">

<div id="app">
  <input class="border border-gray-500" type="text" v-model="search" />
  <div class=" inset-y-0 right-0 pr-3 flex items-center ">
    <svg xmlns="http://www.w3.org/2000/svg" v-show="search.length > 0" class="h-5 w-5 text-gray-400" stroke="currentColor" viewBox="0 0 20 20" @click="delSearch">
    <path
      stroke-linecap="round"
      stroke-linejoin="round"
      stroke-width="2"
      d="M6 18L18 6M6 6l12 12"
    />
  </svg>
  </div>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66135840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档