为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我需要两次单击两次才能使用 angular8 和 jquery 触发 onclick 事件

为什么我需要两次单击两次才能使用 angular8 和 jquery 触发 onclick 事件

qq_笑_17 2022-10-27 16:59:16
为什么我需要两次单击才能触发 angular8 和 jquery 的单击事件//.tsaddActive1() {$(document).ready(function () {  $('.arrow').on('click', function () {    $(this).siblings('.box').toggleClass('active');    $(this).toggleClass('arrow-clicked');  });});}//.html<a (click)="addActive1()" class="arrow shadow-lg">
查看完整描述

1 回答

?
慕勒3428872

TA贡献1848条经验 获得超5个赞

因此,经过几次搜索,我找到了适合我的完美答案。让我先解释一下我的情况,我有 3 个用于任务、视觉等的框,每个框都有固定的高度,如果我单击箭头展开它们,它们必须适合 100% 的文本。当我将它创建为静态页面时,它运行良好,但是当我使用 ngFor 循环时它不起作用。

所以我找到了这个答案

$(document).on('click', '.arrow', function () {
      $(this).siblings('.box').toggleClass('active');
      $(this).toggleClass('arrow-clicked');    
       console.log('Clicked!');});

如您所见,问题是我在彼此内部使用了 2 个函数,所以它触发了 2 次,所以我将$('.arrow')切换为$(document)。并且在点击时只使用了 jQuery。


查看完整回答
反对 回复 2022-10-27
  • 1 回答
  • 0 关注
  • 60 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信