У меня проблема с кодом моей формы.jQuery blur issue
Здесь на codepen: http://codepen.io/Dzongkha/pen/NbdadP
Проблема с этой части кода:
jQuery('.form-container input, .form-container textarea').each(function() {
var labelLeft, labelTop;
labelTop = jQuery(this).css('padding-top');
labelLeft = jQuery(this).css('padding-left');
jQuery(this).next('label').css({
'top': labelTop,
'left': labelLeft,
});
jQuery(this).on('focus', function() {
jQuery(this).next('label').attr({
'style': '',
});
var leftProperty, topProperty,inputWidth;
leftProperty = jQuery(this).next('label').css('left');
inputWidth = jQuery(this).css('width');
topProperty = jQuery(this).next('label').css('top');
if(leftProperty == inputWidth) {
jQuery(this).next('label').css({
'left': labelLeft,
});
};
if(topProperty == '0px') {
jQuery(this).next('label').css({
'top': labelTop,
});
};
});
jQuery(this).on('blur', function() {
if(!jQuery(this).hasClass('active')) {
jQuery(this).next('label').css({
'top': labelTop,
'left': labelLeft,
});
}
});
});
Так что, если я остановлюсь и размыть только на codepen странице - все нормально, и выглядит следующим образом: proper variant.
Но если я размываю, открывая новую вкладку или другую программу или с помощью консоли, а затем пытаясь сосредоточиться на вводе или текстовом поле, возникает такая проблема: issue variant.
Я не знаю, почему, но в данном случае эта часть кода:
jQuery(this).next('label').attr({
'style': '',
});
не работает по какой-то причине.
То, что я уже пробовал:
1)
jQuery(this).next('label').css({
'top': '',
'left': ''
});
2)
jQuery(this).next('label').removeAttr('style');
Но в обоих случаях был этот вопрос.
Надежда, что есть способ, чтобы решить мою проблему = (
Спасибо заранее!
попробуйте найти («метки») вместо следующей («метки») – karthick
чека '' метка тег в HTML – prasanth
@karthick Я пробовал, но это не помогает вообще –