Usuari:Anskar/scripts/teclat.js

De la Viquipèdia, l'enciclopèdia lliure

Nota: Després de desar, heu de netejar la memòria cau del navegador per veure els canvis. En la majoria de navegadors amb Windows o Linux, premeu Ctrl+F5 o bé premeu Shift i cliqueu el botó "Actualitza" (Ctrl i "Actualitza" amb Internet Explorer). Vegeu més informació i instruccions per a cada navegador a Viquipèdia:Neteja de la memòria cau.

/*
  pàgines consultades:
    http://www.google.com/search?num=100&hl=ca&q=addEventListener++which+keycode&btnG=Cerca&lr=
    [http://weblabor.hu/forumok/temak/6367 '''funció addEvent''']
    [http://www.wikini.net/wakka.php?wiki=HackTabulationDansMozilla funció addEvent, tabulació]
    [http://www.webmasterworld.com/forum91/4593.htm teclat d'edició]
    [http://www.webdeveloper.com/forum/archive/index.php/t-102141.html tecles ALT, CTRL, MAJ]
    [http://news.hping.org/comp.lang.javascript.archive/8910.html altres]

<pre>
*/

// No alces la pàgina quan l'usuari pitja 'intro' en el quadre d'edició del resum
function introNoVal(evt) { 
  if(evt.which){
     if(evt.which == 13) {
      if(evt.preventDefault) {
         alert("Tecla [intro] no permesa")
         evt.preventDefault();
      };
    };
  } else if(event.keyCode && event.keyCode == 13) {
    if(event.returnValue) {
       alert("Tecla [intro] no permesa")
       event.returnValue = false;
    };
  };
}

//Escolta el tecleig
function tecles_d_accés(evt) { 
  if(evt.which){
    alt = (evt.modifiers & Event.ALT_MASK) ? true : false;
    ctrl = (evt.modifiers & Event.CONTROL_MASK) ? true : false;
    shift = (evt.modifiers & Event.SHIFT_MASK) ? true : false;
    tecla = evt.which

  } else if(event.keyCode) {
    alt = event.altKey;
    ctrl = event.ctrlKey;
    shift = event.shiftKey;
    tecla = event.keyCode
 };
 if(ctrl) alert("ctrl");
 if (ctrl && tecla == 13) {alert("ctrl "+tecla); enllaç_intern;}

}

function addEvent(obj, tipusEv, fnc) {
  if(typeof window.addEventListener != 'undefined') {
      //.. gecko, safari, konqueror i standard
      document.getElementById(obj).addEventListener(tipusEv, fnc, true);
  } else if(typeof document.addEventListener != 'undefined') {
      //.. opera 7
      document.getElementById(obj).addEventListener(tipusEv, fnc, false);
  } else if(typeof window.attachEvent != 'undefined') {
      //.. win/ie
      document.getElementById(obj).attachEvent("on"+tipusEv, fnc);
  }
}

function detectaCaixaEdició() {
  caixaEdició= document.getElementById("wpTextbox1")
  if(caixaEdició){
    addEvent("wpSummary","keypress",introNoVal)
    //addEvent("wpTextbox1","keypress",tecles_d_accés)
  }
}
$(detectaCaixaEdició);

//adaptat de http://www.telefonica.net/web2/blas-mar/validarformu.html
function solsNombres(evt){
  tecla = (document.all) ? evt.keyCode : evt.which;
  if (tecla==8) return true;
  patró =/\d/;
  tecles = String.fromCharCode(tecla);
  alert(tecla+" "+tecles+" "+patró.test(tecles))
  return patró.test(tecles);
}

/*
 *</pre>
 */