gpt4 book ai didi

javascript - 单击 "body"时调用 jQuery 函数

转载 作者:太空宇宙 更新时间:2023-11-04 15:39:18 25 4
gpt4 key购买 nike

我有一个脚本,当用户点击背景(<body>)时,它会将一个 div 滑出

这是我的代码:

// Slide back out of view.
$('body').click(function(){
$('.presentationArea').animate({'height': '0px'}, 1000);
});

但是,看,这就是问题所在;如果用户点击页面上的任何地方,I.E.菜单链接、按钮、文本字段、图像,上面的函数被调用了!我只希望在用户单击“正文”时调用它,你知道,其他一切背后的东西吗? :) 如何做到这一点?

谢谢

最佳答案

I only want it to be called if the user clicks the "body", you know, that thing BEHIND everything else? :)

可以查看event.target看看它是否是实际的 document.body 元素。 ( Live example ) 但我怀疑人们会发现很难点击它而不是(比如说)p 元素,因为 body 通常不会填充显示区域,除非有东西可以扩展它(尽管您可以使用 CSS 来实现)。

但从根本上说,您可以使用 event.target 来查看点击的位置,并在此时决定它是否是您要处理的点击(从技术上讲,它是否确实 开启 body 本身或您想要继续并以相同方式对待的其他东西)。

或者,您可以通过 stopPropagation 连接一个处理程序来停止事件冒泡。在您不想点击的所有元素上——例如,对于a元素:

$('a').click(function(event) {
event.stopPropagation();
});

stopPropagation 只是停止冒泡,不是默认操作(例如,它不会阻止人们点击链接)。但这样做的副作用可能会很痛苦(我没有像那样在全局范围内做过,只是有针对性)。

关于javascript - 单击 "body"时调用 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5298920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com