如何在文本输入中插入删除图标并实现删除文本
How to insert a delete icon to text input and implement deleting text
我创建以下文本输入:
<input type="text" class="signup-input text-value" name="" placeholder="e.g. example@url.com">
我必须实现一个删除功能(在输入的末尾显示一个"x"图标)。
您可以将type
设置为search
:
<input type="search" class="signup-input text-value" name="" placeholder="e.g. example@url.com">
type="search"
将在输入中添加一个x
按钮,该按钮在单击时删除内容。
小提琴->http://jsfiddle.net/rnfp59jg/
现代浏览器对type="search"
的支持,来自https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input:
Feature Chrome Firefox (Gecko) IE Opera Safari
type=search 5.0 4.0 (2.0) 10 11.01 (Yes)
一个好的跨浏览器选项是:
将您的输入放在div中,然后您就可以绝对地定位"x"。这样,您就可以控制浏览器渲染"X"的方式。
我还包括了一个渐变,以及事件处理程序本身:
$(document).ready(function() {
$('.ex').click(function() {
$('.signup-input').val("");
});
});
.wrap input,
.wrap .ex {
display: inline-block;
}
.wrap {
position: relative;
width: 50%;
height: 30px;
}
.ex {
position: absolute;
right: 0;
top: 10%;
height: 30px;
width: 30px;
opacity: 0;
font-size: 30px;
line-height: 30px;
transition: all 0.8s;
border: 1px solid transparent;
text-align: center;
}
input {
width: 100%;
height: 100%;
}
.wrap input:focus ~ .ex {
opacity: 1;
}
.ex:hover {
border-radius: 50%;
background: tomato;
border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrap">
<input type="text" id="this" class="signup-input text-value" name="" placeholder="e.g. example@url.com">
<div class="ex">×</div>
</div>
就像下面给出的代码一样,你可以使用它。它适用于所有浏览器
HTML:
<span class="surround">
<span class="tagsh"> Name </span>
</span>
JQuery:
var clearIcon ='<span id="icon_clear">X</span>';
$('<input type="input" class="textbox"/>'+clearIcon).appendTo('.surround')
.keyup(
function(e){
var $dad = $($(this).parent());
$(this).val().length>0?
$('#icon_clear').fadeIn(300).click(function() {
$('.textbox').val('');}):
$('#icon_clear').fadeOut(300);
if (e.keyCode in {13:"enter",32:"space"}){
var text = $(this).val();
$('#icon_clear').remove();
$dad.append($('<span class="tag"><span class="plus"></span><span class="minus"></span> '+text+'</span>'));
$dad.append($(this).val("").hide().show("slow").focus());
$dad.append(clearIcon);
} ;});
CSS:
.textbox{
width:70px;
border:1px dotted #ccc;
margin: 0 5px;
padding-right:18px;
}
span#icon_clear{
display:none;
cursor:pointer;
color:#38468F;
position:relative;
right:21px;
}
span#icon_clear:hover{
color:#ccc;
}
这里是JSFiddle链接:http://jsfiddle.net/ketan156/7PnKS/98/
<div class="search-wrp"><input type="text" class="signup-input text-value" name="" placeholder="e.g. example@url.com"><span class="close">x</span></div>
input{
border: 0px;
width: 100px;
}
.search-wrp{
border: 1px solid #ccc;
width: 120px;
}
.search-wrp span{
color: blue;
display: inline-block;
margin-left: 5px;
paddin: 3px;
cursor: pointer;
}
JS代码
$(function(){
$(".search-wrp .close").on("click",function(){
$(".search-wrp input").val("");
});
});
http://jsfiddle.net/bbw99eq8/2/
相关文章:
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何动态添加和删除多个类名的文本
- jQuery从标签中删除括号/文本
- 单击文本时删除文本框的默认数据
- 添加/删除/更改输入文本的部分值
- 在显示/隐藏中单击时删除的文本
- 单击时从表单中删除特定文本
- 使用VBScript或Javascript从文本框(文本区域)中删除最后一行空/空行
- 使用删除文本创建新行
- Wordpress TinyMCE在从文本切换到视觉时,如果锚标记包裹块元素,则会删除锚标记
- 为什么jQuery正在删除文本的最后一个字符
- 如何删除特定文本短语的所有实例
- 通过点击文本区域添加和删除多个标签
- 隐藏<标签>abc标签>之间的文本 - 删除“ ABC”
- JavaScript 拆分字符串 选定的文本删除
- jQuery淡入/淡出替换文本删除链接
- 遍历元素列表并根据内部文本删除元素上的游标样式
- 将逗号后的文本删除到行尾
- 需要有关jQuery条件的帮助,该条件基于匹配的文本删除容器元素