Skip to content

stefangabos/Zebra_ClearInput

Repository files navigation

zebrajs

Zebra ClearInput  Tweet

A tiny jQuery plugin for enhancing web forms by allowing users to easily clear values in text input boxes

npm Total Monthly License

Zebra ClearInput is a lightweight jQuery plugin designed to enhance the usability of web forms by adding a user-friendly feature that allows users to effortlessly clear the content of input fields. This is achieved by attaching a small icon to input fields. When users click on this icon, it promptly erases any text that has been entered.

As soon as a user begins typing in the input field, the option to clear the input value becomes visible. Once the input field loses focus, the option to clear the value reappears when the mouse hovers over the input field.

Features

  • it works out of the box and has (almost) no configuration options
  • it is really tiny - it weighs 1.4KB uncompressed and ~600 bytes gzipped
  • works in any modern browser - Firefox, Chrome, Safari, Edge, Opera

🎂 Support the development of this project

Your support means a lot and it keeps me motivated to keep working on open source projects.
If you like this project please ⭐ it by clicking on the star button at the top of the page.
If you are feeling generous, you can buy me a coffee by donating through PayPal, or you can become a sponsor.
Either way - Thank you! 🎉

Star it on GitHub Donate

Demo

See the demos

Requirements

Zebra ClearInput has no dependencies other than jQuery 1.7.0+

Installation

Zebra ClearInput is available as a npm package. To install it use:

# the "--save" argument adds the plugin as a dependency in packages.json
npm install zebra_clearinput --save

How to use

First, load jQuery from a CDN and provide a fallback to a local source like:

<script src="https://code.jquery.com/jquery-3.5.0.min.js"></script>
<script>window.jQuery || document.write('<script src="path/to/jquery-3.5.0.js"><\/script>')</script>

Load the Zebra ClearInput jQuery plugin:

<script src="path/to/zebra_clearinput.min.js"></script>

Alternatively, you can load Zebra ClerInput from JSDelivr CDN like this:

<!-- for the most recent version, not recommended in production -->
<script
  src="https://cdn.jsdelivr.net/npm/zebra_clearinput@latest/dist/zebra_clearinput.min.js"></script>

<!-- for a specific version -->
<script
  src="https://cdn.jsdelivr.net/npm/zebra_clearinput@1.0.0/dist/zebra_clearinput.min.js"></script>

<!-- replacing "min" with "src" will serve you the non-compressed version -->

Load the style sheet file from a local source

<link rel="stylesheet" href="path/to/zebra_clearinput.min.css">

...or from JSDelivr CDN

<!-- for the most recent version -->
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/zebra_clearinput@latest/dist/zebra_clearinput.min.css">

<!-- for a specific version -->
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/zebra_clearinput@1.0.0/dist/zebra_clearinput.min.css">

<!-- replacing "min" with "src" will serve you the non-compressed version -->

Now, within the DOM-ready event do

$(document).ready(function() {

    // apply to all text input elements
    new $.Zebra_ClearInput('input[type=text]');

    // apply to certain text input elements
    new $.Zebra_ClearInput('input.myClass');

    // apply to all text input elements and
    // add the default CSS class name for the buttons and a custom one
    new $.Zebra_ClearInput('input[type="text"]', {
        button_class_name: 'Zebra_ClearInput myCustomStyles'
    });

});

Configuration options

Properties

Property Type Default Description
container_class_name string Zebra_ClearInput_Container The CSS class(es) to be applied to the container DIV that will wrap the target text input element
button_class_name string Zebra_ClearInput The CSS class(es) to be applied to the button associated with the text input element

Methods

destroy()

Removes a previously created instance of the plugin.

// apply to all text input elements
var clearInput = new $.Zebra_ClearInput('input[type="text"]');

// remove plugin
clearInput.destroy();

Sponsors

Cross browser/device testing is done with

BrowserStack