Jquery - Textarea not focus

Namreč na strani sem za navigacijo med stranmi vstavil javaskripto za premikanje med naslednjo / prejšnjo fotografijo s kurzorji tipkovnice. Problem pa nastane, ko se uporabnik želi premikati med napisanim tekstom / komentarjem s kurzorji tipkovnice. V tem primeru mu seveda priklopi na novo stran. Zato iščem rešitev, da funkcija za navigacijo ne bi bila aktivirana, ko bi bil textarea aktiven.

Poznam rešitev za primer, ko je nek textarea aktiven, vendar ne obratno:

$('textarea#someTextarea').focus(function() {
   $(this).val('');
});

Tole pa je javascript funkcija za navigacijo med strani:

<script type="text/javascript">

function onk(ev) {
  if (!ev) ev = window.event;
  if (ev.which) { tcode = ev.which; }
  else if (ev.keyCode) { tcode = ev.keyCode; }

  if(tcode == 37 ) {
 var MyId = document.getElementById('next_image_url');
  if ( MyId != null) {
  document.location.href = document.getElementById('next_image_url').href;
  }
  }

  if(tcode == 39 ) {
 var MyId = document.getElementById('prev_image_url');
  if ( MyId != null) {
  document.location.href = document.getElementById('prev_image_url').href;
  }
  }
}

document.onkeydown = onk;

</script>

Bi mi prosim kdo znam tukaj pomagati?

1 odgovor

Problem rešen!

<script type="text/javascript">

$(document).ready(function(){

    function checkKey(e){
        if (e.target.tagName.match(/input|textarea/i)) return;

         switch (e.keyCode) {
            case 37:
                var MyId = document.getElementById('next_image_url');
                if ( MyId != null) {
                    document.location.href = document.getElementById('next_image_url').href;
                }
                break;
            case 39:
                var MyId = document.getElementById('prev_image_url');
                if ( MyId != null) {
                    document.location.href = document.getElementById('prev_image_url').href;
                }
                break;
            default:
                }
    }

    if ($.browser.mozilla) {
        $(document).keypress (checkKey);
    } else {
        $(document).keydown (checkKey);
    }

});

</script>