javascript - 使用jQuery的下拉隐藏显示
问题描述
我想在点击而不是悬停时显示搜索和购物车小部件,因为您在这里查看https://joomlance.com/
我使用了这个 Javascript 代码:
jQuery(document).ready(function() {
jQuery('body').click(function(e) {
var container = jQuery(".woodmart-search-dropdown");
// if the target of the click isn't the container nor a descendant of the container
if (!container.is(e.target) && container.has(e.target).length === 0)
{
console.log("as Menu");
container.hide();
}
});
jQuery('.search-button').click(function(e) {
jQuery('div.woodmart-search-dropdown').toggle();
console.log("Opened Menu");
e.stopPropagation();
});
});
但这效果不好,当尝试写任何东西时它会隐藏搜索小部件,当点击删除产品图标时它会隐藏卡片小部件,我不处理粘性标题
请问我该怎么做?
解决方案
如果我理解正确,您不需要此代码:
jQuery('body').click(function(e){ ....
因为它至少在每次点击正文后都会隐藏容器(同样当您专注于搜索输入时)。
试着用这个:
$(function(){
var container = $('.woodmart-search-dropdown');
$('.search-button').on('click', function(e) {
container.toggle();
});
});
推荐阅读
- apache-camel - 收到标头时如何完成聚合器中的所有待处理消息
- c# - 将 Unicode char Ids 字符串转换为 Unicode 文本 .NET
- powershell - powershell write-host 来自 get-content 列表的单个文件名
- php - 我的 PHP IPN 脚本不工作 - 是什么导致它失败?
- java - 将文件夹压缩成单独的部分(无需将所有部分一起提取)
- powershell - VSTS 自定义任务发布在代理机器上运行 powershell
- firebase - 迁移 Flutter 应用程序:实时数据库到 Firestore
- python - Flask 会话在 Angular App 的请求之间没有持续存在
- java - 带有运动的 JavaFx Webview
- google-slides - Google 幻灯片在不退出演示模式的情况下刷新