代码之家  ›  专栏  ›  技术社区  ›  Oussama Baroud

点击父级时触发子级点击事件(HTML、CSS、JS)

  •  0
  • Oussama Baroud  · 技术社区  · 9 月前

    问题是我有

  • 其填充物包含 我想在以下情况下触发复选框输入更改
  • 正在单击(
  • 衬垫)
    <ul>
      <li key={ index } className={ `${ styles.option } ${ handleTravelTypesStyle( index ) }` }>
        <input type="checkbox" name= "traveltype1" id="traveltype1" onChange="( event ) => handleTravelTypesInput( event.target )"/>
        <label htmlFor="traveltype1">Type1</label>
      </li>
    </ul>
    

    我希望我能用一个简单的解决方案来解决这个问题

  • 1 回复  |  直到 9 月前
        1
  •  0
  •   Emiel Zuurbier doctorlee    9 月前
    <ul>
      <li key={ index } className={ `${ styles.option } ${ handleTravelTypesStyle( index ) }` } onclick="triggerCheckbox(event)">
        <input type="checkbox" name="traveltype1" id="traveltype1" onchange="handleTravelTypesInput(event.target)" />
        <label for="traveltype1">Type1</label>
      </li>
    </ul>
    

    JavaScript触发复选框点击:

    您可以使用一个JavaScript函数,当 <li> 点击。此功能将在单击的 <李> 并手动触发其点击事件。

    function triggerCheckbox(event) {
      // Prevent the default label click behavior to avoid double triggering
      event.preventDefault();
    
      // Find the checkbox inside the clicked <li>
      const checkbox = event.currentTarget.querySelector('input[type="checkbox"]');
    
      // Trigger the checkbox click event
      if (checkbox) {
        checkbox.click();
      }
    }