如何将可点击的复选框嵌套在容器中,该容器是svelte

问题描述

我有一个 card 组件,单击该组件后应将用户转到另一个页面。它包含一个复选框,它会触发一些操作。我想在用户单击卡片时转发该用户,而不是在他单击复选框时转发该用户

我尝试在 card 元素上使用selfstopPropagation,但没有用。有没有办法将其添加到输入元素?以下是供参考的代码

// Card Component
<div class="card" {style} on:click={() => goto(`${$page.path}/${app.name}`)}>
//...some code

  <CheckBox label="Compare Services" bind:checked={compare} />
</div>

// CheckBox Component
<label on:keypress={handleEnter} tabindex="1" class="checkBox-holder" {style}>
  <input type="checkBox" bind:checked />
  <div class="cool-checkBox">
    <div class="checkBox-square" class:checkBox-square-active={checked}>
      <i class={`fal fa-${checked ? 'check' : 'minus'}`} />
    </div>
    <span>{label}</span>
  </div>
</label>

解决方法

这是一个有效的示例:
https://svelte.dev/repl/627262b5eadf4774845ec6f3818cd4b1?version=3.24.1

我认为您做对了,也许您有错字或其他东西。您只需要在Card组件的onclick语句中添加“ | self”

on:click|self={()=>console.log("div clicked")}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...