diff options
Diffstat (limited to 'resources/jquery/jquery.placeholder.js')
-rw-r--r-- | resources/jquery/jquery.placeholder.js | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/resources/jquery/jquery.placeholder.js b/resources/jquery/jquery.placeholder.js deleted file mode 100644 index 8044d880..00000000 --- a/resources/jquery/jquery.placeholder.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * HTML5 placeholder emulation for jQuery plugin - * - * This will automatically use the HTML5 placeholder attribute if supported, or emulate this behavior if not. - * - * @author Trevor Parscal <tparscal@wikimedia.org>, 2012 - * @author Krinkle <krinklemail@gmail.com>, 2012 - * @version 0.2.0 - * @license GPL v2 - */ -( function ( $ ) { - - $.fn.placeholder = function ( text ) { - var hasArg = arguments.length; - - return this.each( function () { - var placeholder, $input; - - if ( hasArg ) { - this.setAttribute( 'placeholder', text ); - } - - // If the HTML5 placeholder attribute is supported, use it - if ( this.placeholder && 'placeholder' in document.createElement( this.tagName ) ) { - return; - } - - placeholder = hasArg ? text : this.getAttribute( 'placeholder' ); - $input = $(this); - - // Show initially, if empty - if ( this.value === '' || this.value === placeholder ) { - $input.addClass( 'placeholder' ).val( placeholder ); - } - - $input - // Show on blur if empty - .blur( function () { - if ( this.value === '' ) { - this.value = placeholder; - $input.addClass( 'placeholder' ); - } - } ) - - // Hide on focus - // Also listen for other events in case $input was - // already focused when the events were bound - .on( 'focus drop keydown paste', function ( e ) { - if ( $input.hasClass( 'placeholder' ) ) { - if ( e.type === 'drop' && e.originalEvent.dataTransfer ) { - // Support for drag&drop. Instead of inserting the dropped - // text somewhere in the middle of the placeholder string, - // we want to set the contents of the search box to the - // dropped text. - - // IE wants getData( 'text' ) but Firefox wants getData( 'text/plain' ) - // Firefox fails gracefully with an empty string, IE barfs with an error - try { - // Try the Firefox way - this.value = e.originalEvent.dataTransfer.getData( 'text/plain' ); - } catch ( exception ) { - // Got an exception, so use the IE way - this.value = e.originalEvent.dataTransfer.getData( 'text' ); - } - - // On Firefox, drop fires after the dropped text has been inserted, - // but on IE it fires before. If we don't prevent the default action, - // IE will insert the dropped text twice. - e.preventDefault(); - } else { - this.value = ''; - } - $input.removeClass( 'placeholder' ); - } - } ); - - // Blank on submit -- prevents submitting with unintended value - if ( this.form ) { - $( this.form ).submit( function () { - // $input.trigger( 'focus' ); would be problematic - // because it actually focuses $input, leading - // to nasty behavior in mobile browsers - if ( $input.hasClass( 'placeholder' ) ) { - $input - .val( '' ) - .removeClass( 'placeholder' ); - } - }); - } - - }); - }; - -}( jQuery ) ); |