首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击外部时如何取消选中复选框?

单击外部时如何取消选中复选框?
EN

Stack Overflow用户
提问于 2014-02-22 17:26:06
回答 3查看 2.5K关注 0票数 1

我通过创建一个复选框来创建一个水滴列表。如果复选框被选中,则会出现和消失droplist ...我想做一个javascript代码,当用户在外面的空白区域中单击时,取消选中该复选框。

我已经尝试过这个javascript:

代码语言:javascript
复制
<script language="javascript">
    document.getElementById("drop1").checked = true;
    document.getElementById("drop1").checked = false;
</script>

但它不起作用。

下面是输入表单:

代码语言:javascript
复制
<input type="checkbox" checked="" id="drop1" />

在进阶时谢谢!

EN

回答 3

Stack Overflow用户

发布于 2014-02-22 17:30:39

当用户在下拉列表之外单击时,使用下面的js代码隐藏。

包括jquery并添加以下代码

代码语言:javascript
复制
$(document).mouseup(function (e)
{
    var container = $("selector to dropdown list");

    if (!container.is(e.target) // if clicked outside
        && container.has(e.target).length === 0)nor a descendant of the container
    {
        container.hide();
        $( "#drop1" ).prop( "checked", false ); //to uncheck
    }
});
票数 2
EN

Stack Overflow用户

发布于 2014-02-22 17:42:43

您可以首先找到单击事件上的元素,然后可以相应地编写逻辑。

代码语言:javascript
复制
$(document).click(function(e) {
    var x = e.clientX, y = e.clientY,
    elementOnClick = document.elementFromPoint(x, y);
    var z = elementOnClick.id;
    if(z!="drop1" && !z.is(":visible"))
    {
       document.getElementById("drop1").checked = false;
    }
});

如果你纯粹想用javascript来做这件事,那么你可以在文档http://www.javascripter.net/faq/addeventlistenerattachevent.htm上使用addEventListener

票数 1
EN

Stack Overflow用户

发布于 2014-02-22 18:16:09

使用标签。标签充当与其关联的控件的一个大的可单击区域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21952351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档