Все примеры, которые я нашел, чтобы эмулировать HTML5 заполнитель для не поддерживающих браузеры вызывают на фокус, который НЕ, как она работает в браузерах, поддерживающих (и любопытное отстой). Было бы лучше (IMHO) активировать ('keypress'), но это не подходит для операций с пастой, поэтому я хотел бы запускать комбинацию (или) нажатия клавиш и/или вставки.несколько событий, одна функция в обработчике jQuery.on
jQuery(input).on('keypress', function()
{/*works*/}
jQuery(input).on('paste', function()
{/*works*/}
, но я не могу заставить эти два рабочих вместе работать в одной функции! например
jQuery(input).on('keypress, paste', function()
{/*just doesn't work WTF? */}
(FWIW), вот что у меня есть ... jsFiddle
// Add placeholder browser support as needed.
jQuery(function()
{ if(!ph_support()) alt_placeholder();
});
function alt_placeholder()
{ jQuery('input[placeholder]').each(function()
{ //Assign to those input elements that have 'placeholder' attribute
var input = jQuery(this);
jQuery(input).val(input.attr('placeholder')).addClass('hasPlaceholder');
jQuery(input).on('paste', function()
{ input.removeClass('hasPlaceholder');
if (input.val() == input.attr('placeholder'))
input.val('');
});
jQuery(input).on('keypress', function()
{ input.removeClass('hasPlaceholder');
if (input.val() == input.attr('placeholder'))
input.val('');
});
jQuery(input).blur(function()
{ if (input.val() == '' || input.val() == input.attr('placeholder'))
input.val(input.attr('placeholder')).addClass('hasPlaceholder');
});
});
}
function ph_support()
{ var test = document.createElement('input');
if('placeholder' in test) return true;
else return false;
}
Дубликат сообщение http://stackoverflow.com/questions/9045692/jquery-onpaste-for-the-first-time-doesnt-grab-or-pass-the-value – Ligth
Это сообщение может быть несколько связано, но это не дубликат. –