Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何选择复选框而不选择整行(请参见正文)?_Javascript_Html_Css_Onclick - Fatal编程技术网

Javascript 如何选择复选框而不选择整行(请参见正文)?

Javascript 如何选择复选框而不选择整行(请参见正文)?,javascript,html,css,onclick,Javascript,Html,Css,Onclick,比如,我有一个html: <div class="row"> <input type="checkbox"> </div> 当用户单击整行时,它将高亮显示(selected类由onClick事件添加)。我将onClick事件附加到具有class行的元素 当用户单击复选框(位于.row内)时,此复选框变为选中状态。但行不应突出显示 对于onClick事件,是否可以将复选框区域从.row区域中排除 更新 以下是我现在拥有的: 我不希望在单击复选框时

比如,我有一个html:

<div class="row">
    <input type="checkbox">
</div>

  • 当用户单击整行时,它将高亮显示(
    selected
    类由
    onClick
    事件添加)。我将
    onClick
    事件附加到具有class
    行的元素

  • 当用户单击复选框(位于
    .row
    内)时,此复选框变为选中状态。但行不应突出显示

  • 对于
    onClick
    事件,是否可以将复选框区域从
    .row
    区域中排除


    更新

    以下是我现在拥有的:

    我不希望在单击复选框时类被切换


    更新2


    以下是jQuery的工作解决方案供将来使用:

    将单击事件添加到每个复选框并停止其传播。这应该可以-

    e.stopPropagation
    在复选框的事件处理程序中单击


    将单击事件添加到每个复选框并停止其传播。这应该可以-

    e.stopPropagation
    在复选框的事件处理程序中单击


    是的,这是可能的。正确的方法是在复选框上放置onclick事件,捕获事件并停止其传播

    大概是这样的:

    function checkboxClick (e) {
        e.stopPropagation();
    }
    

    请告诉我它是否有效是的,有可能。正确的方法是在复选框上放置onclick事件,捕获事件并停止其传播

    大概是这样的:

    function checkboxClick (e) {
        e.stopPropagation();
    }
    

    请告诉我它是否有效

    如果捕获事件并查看event.toElement,您可以查看他们是否单击了.row或其他内容


    如果捕获事件并查看event.toElement,可以看到他们是否单击了.row或其他内容


    我想我们需要更多的代码。您能给出一些用于onclick事件的javascript、更多的html以及任何css(如果有的话)吗?也许会拉小提琴?用
    onclick
    event为我们提供完整的代码。还有人注意到这是一个Javascript问题,没有提到jQuery,有jQuery答案吗?Javascript!=问题很简单,我看不出有任何理由需要更多的代码。这是一个关于事件传播的简单问题。为什么你们需要更多的代码?我已经用一些JSFIDLE更新了我的问题。请检查一下。至于jQuery,这对我来说并不重要。我需要任何可能的方法。我想我们需要更多的代码。您能给出一些用于onclick事件的javascript、更多的html以及任何css(如果有的话)吗?也许会拉小提琴?用
    onclick
    event为我们提供完整的代码。还有人注意到这是一个Javascript问题,没有提到jQuery,有jQuery答案吗?Javascript!=问题很简单,我看不出有任何理由需要更多的代码。这是一个关于事件传播的简单问题。为什么你们需要更多的代码?我已经用一些JSFIDLE更新了我的问题。请检查一下。至于jQuery,这对我来说并不重要。我需要任何可能的方法。不知道为什么这会遭到否决。通过向复选框添加onclick并调用stopPropagation(),您只解决了单个元素的问题。如果Edward向行中添加另一个元素,则必须添加另一个onclick和stopPropagation()。通过检查行的onclick中的事件目标,您可以一次解决所有子元素的问题。不确定为什么会收到否决票。通过向复选框添加onclick并调用stopPropagation(),您只解决了单个元素的问题。如果Edward向行中添加另一个元素,则必须添加另一个onclick和stopPropagation()。通过检查行的onclick中的事件目标,可以一次解决所有子元素的问题。