setup_placeholders = (function() { | |
$.support.placeholder = false; | |
test = document.createElement('input'); | |
if('placeholder' in test) { | |
$.support.placeholder = true; | |
return function() {} | |
} else { | |
return function(){ | |
$(function() { | |
var active = document.activeElement; | |
$('form').delegate(':text', 'focus', function () { | |
var _placeholder = $(this).attr('placeholder'), | |
_val = $(this).val(); | |
if (_placeholder != '' && _val == _placeholder) { | |
$(this).val('').removeClass('hasPlaceholder'); | |
} | |
}).delegate(':text', 'blur', function () { | |
var _placeholder = $(this).attr('placeholder'), | |
_val = $(this).val(); | |
// No need to test for values specific to a particular jQuery version | |
// undefined and an empty string both are falsy | |
if (!_placeholder && ( _val == '' || _val == _placeholder)) { | |
$(this).val(_placeholder).addClass('hasPlaceholder'); | |
} | |
}).submit(function () { | |
$(this).find('.hasPlaceholder').each(function() { $(this).val(''); }); | |
}); | |
$(':text').blur(); | |
$(active).focus(); | |
}); | |
} | |
} | |
})(); |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
AlexCuse
commented
Jul 10, 2012
.attr('blah') returns undefined in newer versions of jQuery - you can work around this using:
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
Show comment Hide comment
aaronmccall
Jul 12, 2012
Updated to be friendly to more versions of jQuery. May update for prop method detection too.
Updated to be friendly to more versions of jQuery. May update for prop method detection too. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
.attr('blah') returns undefined in newer versions of jQuery - you can work around this using:
https://gist.github.com/3084976