PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/renownedsubscriptions.online/wp-content/plugins/quick-setup/js/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/renownedsubscriptions.online/wp-content/plugins/quick-setup/js/jquery.placeholder.js |
/** * jquery.placeholder http://matoilic.github.com/jquery.placeholder * * @version v0.2.4 * @author Mato Ilic <info@matoilic.ch> * @copyright 2013 Mato Ilic * * Patched to allow for elements with both value and placeholder attributes * and to track user typing to allow for values equal to the placeholder * attribute * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ ;(function($, doc, debug) { var input = ('placeholder' in doc.createElement('input')), textarea = ('placeholder' in doc.createElement('textarea')), selector = ':input[placeholder]'; $.placeholder = {input: input, textarea: textarea}; //skip if there is native browser support for the placeholder attribute if(!debug && input && textarea) { $.fn.placeholder = function() {}; return; } if(!debug && input && !textarea) { selector = 'textarea[placeholder]'; } /* patch jQuery.fn.val to return an empty value if the value matches * the placeholder */ $.fn.realVal = $.fn.val; $.fn.val = function() { var $element = $(this), val, placeholder; if(arguments.length > 0) return $element.realVal.apply(this, arguments); val = $element.realVal(); placeholder = $element.attr('placeholder'); return ((val == placeholder) ? '' : val); }; $.fn.isUserFilled = function() { var $element = $(this); if ( "true" === $element.data("user-filled" ) || true === $element.data("user-filled" ) ) { return true; } return false; } $.fn.setUserFilled = function( flag ) { var $element = $(this); if ( flag ) { $element.data("user-filled", true); } else { $element.removeData("user-filled"); } } function trackTyping() { var $element = $(this); $element.setUserFilled($element.realVal().length > 0); } function clearForm() { $(this).find(selector).each(removePlaceholder); } function extractAttributes(elem) { var attr = elem.attributes, copy = {}, skip = /^jQuery\d+/; for(var i = 0; i < attr.length; i++) { if(attr[i].specified && !skip.test(attr[i].name)) { copy[attr[i].name] = attr[i].value; } } return copy; } function removePlaceholder() { var $target = $(this), $clone, $orig; if($target.is(':password')) return; if($target.data('password')) { $orig = $target.next().show().focus(); $('label[for=' + $target.attr('id') + ']').attr('for', $orig.attr('id')); $target.remove(); } else if($target.realVal() == $target.attr('placeholder') && !$target.isUserFilled()) { $target.val(''); $target.removeClass('placeholder'); } } function setPlaceholder() { var $target = $(this), $clone, placeholder, hasVal, cid; placeholder = $target.attr('placeholder'); if($.trim($target.val()).length > 0 || $target.isUserFilled()) return; if($target.is(':password')) { cid = $target.attr('id') + '-clone'; $clone = $('<input/>') .attr($.extend(extractAttributes(this), {type: 'text', value: placeholder, 'data-password': 1, id: cid})) .addClass('placeholder'); $target.before($clone).hide(); $('label[for=' + $target.attr('id') + ']').attr('for', cid); } else { $target.val(placeholder); $target.addClass('placeholder'); } } $.fn.placeholder = function() { this.filter(selector).each(function() { $(this).setUserFilled(($(this).realVal().length > 0)); }); this.filter(selector).each(setPlaceholder); return this; }; $(function($) { var $doc = $(doc); $doc.on('submit', 'form', clearForm); $doc.on('focus', selector, removePlaceholder); $doc.on('blur', selector, setPlaceholder); $doc.on('keyup', selector, trackTyping); $(selector).placeholder(); }); })(jQuery, document, window.debug);