javascript - 通过单击鼠标切换文本以显示在某个位置

标签 javascript html css

我需要能够单击一个区域(框)并显示一些文本,然后再次单击页面上的其他任何地方以使其消失。我开始时将它悬停在盒子上,效果很好。鼠标悬停在文本上后,文本就会出现。

这是我得到的 jsfiddle:http://jsfiddle.net/TW2Le/73/

我试图将 :hover 更改为 :active ,但它仍然不起作用。我应该怎么做才能让它点击显示,点击其他地方隐藏。

最佳答案

有复选框 hack,使用带有标签的隐藏复选框来仅捕获 CSS 中的点击,然后使用相邻的同级选择器来更改元素的可见性。

这只使用 CSS 来捕获点击,没有 javascript :

.wrap {
    outline: 1px dotted blue;
    height: 107px;
    width: 130px;
    display: block;
}

.noshow, #click, #click:checked ~ .show {display : none;}

.noshow {
    color: #050505;
    font-weight:bold;
    text-align:justify;
    line-height: 1em; 
    font-size:small;
}

#click:checked ~ .noshow {
    display: block;
}

FIDDLE

对于在框外任意位置单击时恢复单击的 jQuery 版本,您可以这样做

$(function() {
    $(document).on('click', function(e) {
        if ( $(e.target).closest('.wrap').length ) {
            $('.show').hide();
            $('.noshow').show();
        }else{
            $('.show').show();
            $('.noshow').hide();
        }
    });
});

FIDDLE

关于javascript - 通过单击鼠标切换文本以显示在某个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21023275/

相关文章:

html - 水平滚动不显示右边距

javascript - 如何使用 Rollup 将本地 typescript 文件捆绑到主包中

javascript - 如何检查响应变量是否存在且具有值

javascript - 有没有更好/更简单的方法将 html 表单序列化为对象

javascript - 从 sql footable 重新加载数据

html - 如何在所有标题按钮之间创建相等的间距?

html - 我无法创建有序表单

javascript - 如何在加载此 React 组件时触发此函数,而不需要单击按钮?

html - z-index 和不透明度的正确定位

python - 如何为模板中的 Django 表单字段赋值?