Вход Регистрация
Файл: concrete5.7.5.6/concrete/js/build/vendor/jquery-placeholder/jquery.placeholder.js
Строк: 197
<?php
/*! http://mths.be/placeholder v2.0.8 by @mathias */
;(function(windowdocument, $) {

    
// Opera Mini v7 doesn’t support placeholder although its DOM seems to indicate so
    
var isOperaMini Object.prototype.toString.call(window.operamini) == '[object OperaMini]';
    var 
isInputSupported 'placeholder' in document.createElement('input') && !isOperaMini;
    var 
isTextareaSupported 'placeholder' in document.createElement('textarea') && !isOperaMini;
    var 
prototype = $.fn;
    var 
valHooks = $.valHooks;
    var 
propHooks = $.propHooks;
    var 
hooks;
    var 
placeholder;

    if (
isInputSupported && isTextareaSupported) {

        
placeholder prototype.placeholder = function() {
            return 
this;
        };

        
placeholder.input placeholder.textarea true;

    } else {

        
placeholder prototype.placeholder = function() {
            var 
$this this;
            
$this
                
.filter((isInputSupported 'textarea' ':input') + '[placeholder]')
                .
not('.placeholder')
                .
bind({
                    
'focus.placeholder'clearPlaceholder,
                    
'blur.placeholder'setPlaceholder
                
})
                .
data('placeholder-enabled'true)
                .
trigger('blur.placeholder');
            return 
$this;
        };

        
placeholder.input isInputSupported;
        
placeholder.textarea isTextareaSupported;

        
hooks = {
            
'get': function(element) {
                var 
$element = $(element);

                var 
$passwordInput $element.data('placeholder-password');
                if (
$passwordInput) {
                    return 
$passwordInput[0].value;
                }

                return 
$element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' element.value;
            },
            
'set': function(elementvalue) {
                var 
$element = $(element);

                var 
$passwordInput $element.data('placeholder-password');
                if (
$passwordInput) {
                    return 
$passwordInput[0].value value;
                }

                if (!
$element.data('placeholder-enabled')) {
                    return 
element.value value;
                }
                if (
value == '') {
                    
element.value value;
                    
// Issue #56: Setting the placeholder causes problems if the element continues to have focus.
                    
if (element != safeActiveElement()) {
                        
// We can't use `triggerHandler` here because of dummy text/password inputs :(
                        
setPlaceholder.call(element);
                    }
                } else if (
$element.hasClass('placeholder')) {
                    
clearPlaceholder.call(elementtruevalue) || (element.value value);
                } else {
                    
element.value value;
                }
                
// `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363
                
return $element;
            }
        };

        if (!
isInputSupported) {
            
valHooks.input hooks;
            
propHooks.value hooks;
        }
        if (!
isTextareaSupported) {
            
valHooks.textarea hooks;
            
propHooks.value hooks;
        }

        $(function() {
            
// Look for forms
            
$(document).delegate('form''submit.placeholder', function() {
                
// Clear the placeholder values so they don't get submitted
                
var $inputs = $('.placeholder'this).each(clearPlaceholder);
                
setTimeout(function() {
                    
$inputs.each(setPlaceholder);
                }, 
10);
            });
        });

        
// Clear placeholder values upon page reload
        
$(window).bind('beforeunload.placeholder', function() {
            $(
'.placeholder').each(function() {
                
this.value '';
            });
        });

    }

    function 
args(elem) {
        
// Return an object of element attributes
        
var newAttrs = {};
        var 
rinlinejQuery = /^jQueryd+$/;
        $.
each(elem.attributes, function(iattr) {
            if (
attr.specified && !rinlinejQuery.test(attr.name)) {
                
newAttrs[attr.name] = attr.value;
            }
        });
        return 
newAttrs;
    }

    function 
clearPlaceholder(eventvalue) {
        var 
input this;
        var 
$input = $(input);
        if (
input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {
            if (
$input.data('placeholder-password')) {
                
$input $input.hide().next().show().attr('id'$input.removeAttr('id').data('placeholder-id'));
                
// If `clearPlaceholder` was called from `$.valHooks.input.set`
                
if (event === true) {
                    return 
$input[0].value value;
                }
                
$input.focus();
            } else {
                
input.value '';
                
$input.removeClass('placeholder');
                
input == safeActiveElement() && input.select();
            }
        }
    }

    function 
setPlaceholder() {
        var 
$replacement;
        var 
input this;
        var 
$input = $(input);
        var 
id this.id;
        if (
input.value == '') {
            if (
input.type == 'password') {
                if (!
$input.data('placeholder-textinput')) {
                    try {
                        
$replacement $input.clone().attr({ 'type''text' });
                    } catch(
e) {
                        
$replacement = $('<input>').attr($.extend(args(this), { 'type''text' }));
                    }
                    
$replacement
                        
.removeAttr('name')
                        .
data({
                            
'placeholder-password'$input,
                            
'placeholder-id'id
                        
})
                        .
bind('focus.placeholder'clearPlaceholder);
                    
$input
                        
.data({
                            
'placeholder-textinput'$replacement,
                            
'placeholder-id'id
                        
})
                        .
before($replacement);
                }
                
$input $input.removeAttr('id').hide().prev().attr('id'id).show();
                
// Note: `$input[0] != input` now!
            
}
            
$input.addClass('placeholder');
            
$input[0].value $input.attr('placeholder');
        } else {
            
$input.removeClass('placeholder');
        }
    }

    function 
safeActiveElement() {
        
// Avoid IE9 `document.activeElement` of death
        // https://github.com/mathiasbynens/jquery-placeholder/pull/99
        
try {
            return 
document.activeElement;
        } catch (
exception) {}
    }

}(
thisdocumentjQuery));
?>
Онлайн: 0
Реклама