选择输入时,在链接上添加 onclick 标记
Add onclick tag on a link when input selected
我有一个搜索输入,当鼠标悬停在搜索图标上时会显示。搜索图标不可单击,因此我尝试在链接上添加onclick以触发搜索。但是当我在移动设备上尝试此解决方案时,由于我在移动设备上没有鼠标,因此当我选择搜索图标时,它会触发搜索而无需输入任何单词。
这是 HTML:
<div class="search-container">
<form method="get" id="searchform">
<input type="text" name="s" placeholder="<?php echo $search; ?>">
<a style="cursor: pointer;" class="search" onclick="document.getElementById('searchform').submit();"
<img src="<?php echo get_template_directory_uri(); ?>/img/search-icon.png" alt="Search" />
</a>
</form>
</div>
这是 CSS:
.search-container {
overflow: hidden;
float: right;
width: 37px;
-moz-transition: width 0.35s;
-webkit-transition: width 0.35s;
}
.search-container:hover {
width: 20em;
}
.search-container:hover input {
display: inline-block;
width: 200px;
}
.search-container input {
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
float: left;
width: 0em;
margin-right: -42px;
font-size: 1em;
height: 35px;
padding: 5px;
border: 0;
color:#333;
-moz-transition: width 0.25s;
-webkit-transition: width 0.25s;
}
.search-container input:focus {
outline: none;
}
.search-container img {
float: right;
background-color: #df5927;
padding: 5px;
}
如何仅在显示输入时激活搜索图标的单击?
您可以遵循不同的方法。
如果单击该图标并且输入没有值,则显示输入,否则提交表单
您必须在新函数中移动单击处理程序,而不是在 <a>
元素中内联
所以你听<a>
元素的点击
document.querySelector('.search').addEventListener("click", handleClick);
然后,当单击a时,您检查输入是否有任何值,然后提交或显示实际输入
function handleClick(event){
var input = document.querySelector("input[name='s']");
if(input.value.length == 0){
//dont submit and show input for mobile
} else {
// input has value, submit form
document.getElementById('searchform').submit();
}
}
相关文章:
- 使用jQuery动态添加onClick事件
- 如何在Chart.js v2.0中的标签上添加OnClick事件
- 如何在使用javascript生成的anchor标记上添加onclick事件
- 解析具有target=“”的链接;新的“;并添加onclick事件
- 使用对象中的值添加onclick事件
- 动态创建元素和添加onclick事件不起作用
- JSP和jQuery-向可变数量的元素添加onclick函数
- 为什么Javascript不会添加onclick
- Opencart 过滤器添加 onclick 事件以替换提交按钮
- 使用 javascript 添加 onclick 事件侦听器和元素
- 选择输入时,在链接上添加 onclick 标记
- 在图表上使用高图表库制作的图表上添加 onclick 事件
- 动态添加onclick到元素,传递函数参数
- 如何通过 addEventListener 添加 onclick=“return func()”
- JavaScript 从脚本添加 onclick with paramenter
- 在标记Google Maps v3上添加onclick事件
- Internet Explorer BHO添加onclick事件
- jstree设置nodehref链接并添加onclick事件
- 添加onclick=“;return false”;链接
- 如何添加onclick=;return false”;在php中