Vue 中 使用 v-for 循环出来的元素,引入jquery绑定点击事件失效

在另外一个页面 引入了jquery,给一个元素绑定了点击事件,使用正常

在这个页面,同样一个元素,唯一的区别是这个元素需要用v-for循环出来,
同样引入jquery,绑定的点击事件就没效果

搞不懂为什么

两个页面基本一致,没有什么差别,唯一的区别就是这个页面的元素是v-for 循环出来的

下边是代码截图

图片描述

图片描述

阅读 5.7k
5 个回答

这是因为元素还没生成js就执行了,新生成的元素需要委托监听

$(document).on('click','.card-type-btn',function(){})

这个不关v-for的事情,jq为未来dom添加事件使用on绑定

$('.card').on('click',function(){
    //...
})

因为你直接使用的话是为已有的dom去绑定,而v-for是根据数据去渲染,页面上初始没有这个dom

数据是异步生成的吧,jquery方法放在数据返回成功的回调里也可以。

但是,你为什么要用jq? @click 不好吗?

用了v-for 不用@click ...
新手上路,请多包涵

你为什么要用jQuery?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题