我正在尝试制作一个侧面板,只需点击一下按钮即可从右侧滑出,然后如果单击面板外部,则会滑回。
在下面的代码中,当点击div#sidepanel中的任何元素时,它会滑入,因为它们的“id”不是“sidepanel”。如何在div#sidepanel中包含任何和所有元素?我试图......
if (e.target != $('div#sidepanel).find(*)){};
代码如下:
$("main").click(function(e) {
if (e.target.id == 'opensidepanel') {
$("div#sidepanel").animate({
right: '0px'
});
} else if (e.target.id != 'sidepanel') {
$("div#sidepanel").animate({
right: '-340px'
});
}
});
答案 0 :(得分:0)
您可以使用has
:
else if (!$("#sidepanel").has(e.target)) {
根据是否也应排除侧面板上的点击(不是它的子元素),您可能需要扩展:
else if (!$("#sidepanel").has(e.target) && e.target.id != 'sidepanel') {
显然,很大程度上取决于您网页中#main
的内容,因为您只捕获该区域的点击次数。您可能只想在整个文档中收听点击事件。