@thebluefox ha resumido lo mejor de todo. De todos modos, solo está obligado a usar JavaScript para que ese botón funcione. Aquí hay un SSCCE, puedes copiarlo y pegarlo y ejecutarlo:
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2803532</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$('input.deletable').wrap('<span class="deleteicon" />').after($('<span/>').click(function() {
$(this).prev('input').val('').trigger('change').focus();
}));
});
</script>
<style>
span.deleteicon {
position: relative;
}
span.deleteicon span {
position: absolute;
display: block;
top: 5px;
right: 0px;
width: 16px;
height: 16px;
background: url('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4') 0 -690px;
cursor: pointer;
}
span.deleteicon input {
padding-right: 16px;
box-sizing: border-box;
}
</style>
</head>
<body>
<input type="text" class="deletable">
</body>
</html>
Ejemplo en vivo aquí .
Por cierto, jQuery no es necesario, simplemente separa muy bien la lógica necesaria para la mejora progresiva de la fuente, por supuesto, también puede continuar con HTML / CSS / JS simple :
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2803532, with "plain" HTML/CSS/JS</title>
<style>
span.deleteicon {
position: relative;
}
span.deleteicon span {
position: absolute;
display: block;
top: 5px;
right: 0px;
width: 16px;
height: 16px;
background: url('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4') 0 -690px;
cursor: pointer;
}
span.deleteicon input {
padding-right: 16px;
box-sizing: border-box;
}
</style>
</head>
<body>
<span class="deleteicon">
<input type="text">
<span onclick="var input = this.previousSibling; input.value = ''; input.focus();"></span>
</span>
</body>
</html>
Solo termina con HTML más feo (y JS no compatible con crossbrowser;)).
Tenga en cuenta que cuando la apariencia de la interfaz de usuario no es su mayor preocupación, pero la funcionalidad lo es, simplemente use en <input type="search">
lugar de <input type="text">
. Mostrará el botón de borrar (específico del navegador) en navegadores compatibles con HTML5.
class="fa fa-remove"
el lapso de interior para mostrar un bonito icono de la cruztop:
el lapso secundario y estableciendodisplay: flex; align-items: center;
el lapso primario.Hoy en día con HTML5, es bastante simple:
La mayoría de los navegadores modernos mostrarán automáticamente un botón transparente utilizable en el campo de forma predeterminada.
(Si usa Bootstrap, deberá agregar una anulación a su archivo CSS para que se muestre)
Los navegadores Safari / WebKit también pueden proporcionar funciones adicionales cuando se usan
type="search"
, comoresults=5
yautosave="..."
, pero también anulan muchos de sus estilos (por ejemplo, altura, bordes). Para evitar esas anulaciones, mientras conserva la funcionalidad como el botón X, puede agregar esto a su CSS:Visite css-tricks.com para obtener más información sobre las funciones proporcionadas por
type="search"
.fuente
HTML5 introduce el tipo de entrada de 'búsqueda' que creo que hace lo que quieres.
<input type="search" />
Aquí hay un ejemplo en vivo .
fuente
Consulte nuestro complemento jQuery-ClearSearch . Es un complemento de jQuery configurable: adaptarlo a sus necesidades al diseñar el campo de entrada es sencillo. Solo úsalo de la siguiente manera:
Ejemplo: http://jsfiddle.net/wldaunfr/FERw3/
fuente
Desafortunadamente, no puede ponerlo dentro del cuadro de texto, solo hacer que parezca que está dentro de él, lo que desafortunadamente significa que se necesita algo de CSS: P
La teoría es envolver la entrada en un div, quitar todos los bordes y fondos de la entrada, luego estilizar el div para que se vea como el cuadro. Luego, suelte el botón después del cuadro de entrada en el código y los trabajos son buenos.
Una vez que lo tienes para trabajar de todos modos;)
fuente
Tengo una solución creativa que creo que estás buscando
https://jsfiddle.net/qdesign/xn9eogmx/1/
fuente
Por supuesto, el mejor enfoque es utilizar el cada vez más compatible
<input type="search" />
.De todos modos, para un poco de diversión de codificación, pensé que podría lograrse también usando el botón de reinicio del formulario, y este es el resultado de trabajo (vale la pena señalar que no puede vivir otras entradas, pero el campo de búsqueda con este enfoque, o el botón de reinicio se borrará) ellos también), no se necesita JavaScript:
fuente
Quizás esta solución simple pueda ayudar:
fuente
@Mahmoud Ali Kaseem
Acabo de cambiar algo de CSS para que se vea diferente y agregué focus ();
https://jsfiddle.net/xn9eogmx/81/
fuente