Как решить проблему события click?
что за проблемавы вешаете обработчик события на элемент, которого не существует в тот момент, в который вы этот обработчик собственно вешаете.
вы можете использовать делегирование:$('body').on('click', '.mobil', function() {
  $(this).css('background', 'blue');
});
или повесить обработчик на '.block', но тогда при каждом клике проверять, есть ли у него класс '.mobil':$('.block').click(function() {
  if ( $(this).hasClass('mobil') ) {
    $(this).css('background', 'blue');
  }
});
Дело в том, что когда вы вешаете слушатель на блок с классом mobil, этого элемента ещё не существует, и чтобы, событие вызывалось, Вам нужно вешать слушатель каждый раз, когда добавляете класс mobil блоку с классом block:var doit;

function resizedw() {
    if ($(document).width() < 500) {
        $('.block').addClass("mobil");

        $('.mobil').click(function() {
            $(this).css('background', 'blue');
        });
    } else
        $('.block').removeClass("mobil");

};
window.onresize = function() {
    clearTimeout(doit);
    doit = setTimeout(function() {
        resizedw();
    }, 0);
};