- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经基于 Materialise for Wordpress 制作了一个下拉搜索表单:
$('.dropdown-button').dropdown();
.search-area {
overflow: hidden !important;
width: 400px !important;
height: 100%;
top: 4.2em !important;
}
.search {
font-size: 16px !important;
font-weight: 300;
padding: 0 50px 0 0 !important;
box-shadow: inset 0 0 10px -1px #e0e0e0 !important;
cursor: default;
}
.search-header {
float: left;
}
.search-ico {
padding: 0px 10px 0 10px;
background-color: #0063a3;
margin: -13px 0px 0 0;
}
.input-field input[type="search"]+label {
right: 1rem;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<a href="#" data-activates="search-area" class="search-header dropdown-button"><i class="material-icons">search</i></a>
<div id="search-area" class="dropdown-content search-area">
<form method="get" id="searchform" action="/">
<div class="input-field">
<input class="search" type="text" name="s" id="s" value="" placeholder="Search..." />
<label class="label-icon" for="search"><i class="search-ico material-icons">search</i></label>
</div>
</form>
</div>
它工作正常并显示搜索区域。我的问题是,当我点击搜索输入字段输入内容时,下拉菜单会淡出,我无法输入任何内容。
我还制作了一个 Codepen这样您就可以看到发生了什么以及我的问题出在哪里。
最佳答案
您可以手动将事件监听器添加到 .dropdown-content
元素,并使用 e.preventDefault()
防止点击冒泡:
$('.dropdown-button').dropdown();
// Add this:
$('.dropdown-content').on('click', function(e) {
e.stopPropagation();
});
.search-area {
overflow: hidden !important;
width: 400px !important;
height: 100%;
top: 4.2em !important;
}
.search {
font-size: 16px !important;
font-weight: 300;
padding: 0 50px 0 0 !important;
box-shadow: inset 0 0 10px -1px #e0e0e0 !important;
cursor: default;
}
.search-header {
float: left;
}
.search-ico {
padding: 0px 10px 0 10px;
background-color: #0063a3;
margin: -13px 0px 0 0;
}
.input-field input[type="search"]+label {
right: 1rem;
}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<a href="#" data-activates="search-area" class="search-header dropdown-button"><i class="material-icons">search</i></a>
<div id="search-area" class="dropdown-content search-area">
<form method="get" id="searchform" action="/">
<div class="input-field">
<input class="search" type="text" name="s" id="s" value="" placeholder="Search..." />
<label class="label-icon" for="search"><i class="search-ico material-icons">search</i></label>
</div>
</form>
</div>
关于javascript - 单击其内容时 Materialise UI 下拉菜单关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48477435/
如何创建具有特殊功能的 Materialize CSS 输入,例如输入中的占位符和图标?我想找到一种不使用 materialize CSS 来创建它的方法,因为我正在使用另一个 CSS 框架并且我不想
我使用collapsible component provide by materialize framework 。我遇到一个错误,但不知道如何解决它或找到解决方法。如果一个选项卡的内容太大,当我打
我正在尝试在点击事件上打开具体化的日期选择器。这是我的jsp Birthdate today 对于我的脚本: $(document).ready(function(){
如何获取触发 Materialize Modal 的元素? 鉴于此代码: Item 1 Item 2 Item 3 Edit Model ... Clo
您好,我正在使用 Materialise js,它的模态未打开,以下是我的代码。请告诉我它有什么问题吗? Modal Header
我有一个使用 Materialize 的全 Angular 轮播,其中有一些箭头指示下一个和上一个轮播元素。在桌面上运行良好,但在移动设备上不起作用。我一直在研究它,据说这个元素存在一个他们没有掩盖的
我有一个多重选择元素,我想动态选择选项的混合,如下所示: 我能够动态选择一个选项,但仅此而已, document.getElementById('update_days_of_the_week').s
我有一个始终可见的 Materialise 固定侧导航。我想添加打开和关闭它的按钮。 如果我将 $('.sidenav').sidenav('close') 添加到按钮,它只能关闭侧边栏;与 $('.
我正在测试 Materialize 的自动完成功能,但由于某种原因它不起作用。 这是我的代码: Stamboom
具体化 css 不适用于动态选择。它与国家合作良好,但不显示国家。 我认为 jquery 有问题。 请检查我的代码片段。 我已经检查了互联网上的所有内容。但对我来说没有任何用处。 var countr
这个问题在这里已经有了答案: Using page's angular JS in chrome extension (3 个答案) 关闭 6 年前。 我想做的是填写一个使用 Materialize
我是网页设计的新手,我发现了 MaterializeCSS 框架(与 Bootstrap 的目的相同)。 所以我找到了预加载器代码,但遗憾的是我不知道将它准确放置在哪里。 我希望这个循环加载器在轮播加
我不完全确定为什么我的可折叠下拉菜单不起作用。我已经导入了 materialize 和 jQuery,它们都在工作,但可折叠菜单在单击时没有任何作用。 Cr
我有一个 jsp 页面,我想使用 Materialize 框架对其进行样式设置,但是一旦我将 href 添加到页面中的 materialize.min.css(或在整个元素中),它覆盖了所有应用程序中
我使用的是 materialize.min.css 和 materialize.min.js,没有其他样式表。 我做了一个简单的网页。代码: {% load static %} TITLE
我不明白为什么实用程序“show-on-small”等不起作用。尽管以下脚本应该只在小屏幕上显示,但它一直显示(请注意其他实体化类也可以工作,所以并不是我不能访问它们的文件)。 例子: Only
我在我的页面中使用了卡片,页面看起来像这样 cards 你可以看到我的卡片内容和描述在我的图片中,我遵循来自 materialize 的指南但它在我的页面上不起作用 这是我的代码
我在 Rails 元素中使用 Materialize,我不确定为什么可折叠导航栏转换没有响应。 _nav.html.erb LOGO menu
我正在使用 Materialise 开展一个元素。我面临有关文本框中预填值的问题。下面是截图: User Name * $(document).ready(fun
我用 materialziecss 库完成了这个程序。 MY Model IS like this first But when I try to focus on that and try to t
我是一名优秀的程序员,十分优秀!