Допустим, есть текстовое поле и на него навешен обработчик события. Этот обработчик проверяет value (значение) поля и если это значение не пустое, то производит какие-либо действия. Для этого вполне подходят события change, keypress, keyup, keydown. Но если текст был вставлен через контекстное меню, то ни одно из этих событий не сработает.

Можно воспользоваться следующим кастомным событием, которое предоставляет нам библиотека JQuery:

$('#controlId').bind('paste', null, function(e) {
    // удостоверяемся, что событие было вызвано не через нажатие ctrl+v
    if(!e.keyCode){       
    }
});