2013-05-13 2 views
0

Все примеры, которые я нашел, чтобы эмулировать 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; 
} 
+0

Дубликат сообщение http://stackoverflow.com/questions/9045692/jquery-onpaste-for-the-first-time-doesnt-grab-or-pass-the-value – Ligth

+0

Это сообщение может быть несколько связано, но это не дубликат. –

ответ

3

Удалить запятая

jQuery(input).on('keypress paste', function() 
+0

Geesh! Иногда вы просто не видите деревья для леса! Duhhh ... Спасибо! – WallabyKid

Смежные вопросы