代码之家  ›  专栏  ›  技术社区  ›  th3g3ntl3man

单击<a>文本以检查输入

  •  2
  • th3g3ntl3man  · 技术社区  · 6 年前

    <a> 复选框是否激活?现在,当有人点击复选框的文本时,下拉菜单关闭。 这是一个简单的片段:

    <div id="divChooseMacro" class="dropdown-menu" aria labelledby="choose-macro">
        <a class='dropdown-item' data-value='pippo' style='cursor: pointer;'> 
            <input type='checkbox' value='pippo'/>&nbsp; pippo 
        </a>
    </div>
    

    我试着设定一个 cursor: pointer 在标签中 <a> 但没有成功

    2 回复  |  直到 6 年前
        1
  •  0
  •   Canta    6 年前

    我建议您使用label tag将其与复选框关联起来。另外,我在您的代码中插入了一些不同的语义标记:可以随意更改回去。

    关于下拉关闭,您可以停止click事件以在复选框处传播切换其复选框,这样click的引导事件侦听器就不会被触发

    <ul id="divChooseMacro" class="dropdown-menu" aria labelledby="choose-macro">
      <li class='dropdown-item' data-value='pippo' style='cursor: pointer;'> 
        <label class='dropdown-item' onclick='event.stopPropagation();'> 
          <input type='checkbox' value='pippo'/>&nbsp; pippo 
        </label>
      </li>
    </ul>
    
        2
  •  0
  •   Carsten Løvbo Andersen Dan Nemtanu    6 年前

    a 变成一个 label

    演示

    <div id="divChooseMacro" class="dropdown-menu" aria labelledby="choose-macro">
        <label class='dropdown-item' data-value='pippo' style='cursor: pointer;'> 
            <input type='checkbox' value='pippo'/>&nbsp; pippo 
        </label>
    </div>
    
    <div id="divChooseMacro" class="dropdown-menu" aria labelledby="choose-macro">
        <label class='dropdown-item' data-value='pippo' style='cursor: pointer;'> 
            <input type='checkbox' value='222'/>&nbsp; 222 
        </label>
    </div>