javascript - 单击页面上的任意位置运行 Javascript 代码(单击某些 div 除外)

标签 javascript html

我有这段 Javascript 代码:

$('#catDIV').on('click',function(){

    $("#dogDIV").fadeOut(500, function() {

            makeCat();

        }).fadeIn(500);
});

这会淡出 div“dogDIV”,运行函数“makeCat();”并在单击 div“catDIV”时淡化“dogDIV”。

我的问题是,是否可以更改此代码,以便无论单击页面的哪个部分它都会运行,是否可以指定不应激活代码的某些 div?

换句话说,是否可以说“如果页面的任何部分被点击,除了这些特定的 div,然后运行代码……”。

我希望无论用户在页面上的哪个位置单击代码都可以运行,但我不希望它在用户单击 div“catDIV”或另一个名为“mouseDIV”的 div 时运行。我不确定这是否可能?

我见过类似的问题:jQuery click anywhere in the page except on 1 div但是是否可以指定多个不应触发代码运行的 div?

如能提供任何帮助,我们将不胜感激,在此先感谢您!

最佳答案

处理点击 document#catDIV#mouseDIV。单击后两个时什么也不做。点击任何其他元素都会冒泡到 document 的点击处理程序。

    $(document).click(function(evt) {
      alert("clicked anywhere except catDIV and mouseDIV");
    });
    $("#catDIV, #mouseDIV").click(function(evt) {
      evt.stopPropagation();
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="catDIV">catDIV</div>
<div id="cowDIV">cowDIV</div>
<div id="mouseDIV">mouseDIV</div>

关于javascript - 单击页面上的任意位置运行 Javascript 代码(单击某些 div 除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33005306/

相关文章:

javascript - jQuery - 对话框的多个实例将无法打开

javascript - 使用 Node.js 进行回调和返回

python - beautifulsoup - 删除一行代码

jquery - 单击更改文本区域高度

javascript - 当特定图像接触到其他图像时不触发音频

javascript - 更改另一个下拉选项时隐藏下拉选项

javascript - nodejs与node冲突(重新安装nodejs)

javascript - 如何停止回显未格式化的 json 数组

javascript - Office Word JS - 通过表格选择进行内容控制

javascript - 在 Jquery 中使用 slideToggle 时按时间降低边距