Plataforma de Contratación del Sector Público
*/
/*
event.eventPhase
0. NONE
1. CAPTURING_PHASE - The event flow is in capturing phase
2. AT_TARGET - The event flow is in target phase, i.e. it is being evaluated at the event target
3. BUBBLING_PHASE - The event flow is in bubbling phase
*/
var ctrlsTratados = "";
var forms_list = document.forms;
var elements_list = document.getElementsByName("dgpeModKeyBoardEvents");
// Es necesaria la pulsacion de una tecla para activar el
var allowEnter = false;
console.log("-allowEnter="+allowEnter);
/*
* keyEventListener
* Implementa el comportamiento de onkeydown, onkeypress, onkeyup
* Solo estamos tratando el [chr(13)]
*/
function keyEventListener(evt) {
var charCode;
if ((typeof evt)=="undefined") return false;
charCode = (evt.which) ? evt.which : evt.keyCode;
console.log("{"+evt.type+" "+charCode+" "+evt.repeat+" "+evt.currentTarget+" "+evt.target+"}");
if (charCode == "13" && evt.type == "keydown"){
console.log("-"+evt.type+"["+charCode+"](return true)");
return true;
} else if(charCode == "13" && evt.type == "keypress"){
if(allowEnter == true) {
allowEnter = false;
console.log("-allowEnter="+allowEnter);
console.log("-"+evt.type+"["+charCode+"](return true)");
return true;
} else {
console.log("-"+evt.type+"["+charCode+"](return false)");
return false;
}
} /*else if(charCode == "13" && evt.type == "keyup"){
allowEnter = true;
console.log("-allowEnter=true");
}*/
allowEnter = true;
console.log("-allowEnter="+allowEnter);
console.log("-"+evt.type+"["+charCode+"](return true)");
return true;
}
// Registramos el tratamiento previo de onkeydown, onkeypress, onkeyup en los elementos tratados
function registrarControl(ctrlTratado) {
ctrlsTratados += "{[localName: " + ctrlTratado.localName + "]";
ctrlsTratados += "[name: " + ctrlTratado.getAttribute("name") + "]";
ctrlsTratados += "[id: " + ctrlTratado.getAttribute("id") + "]";
ctrlsTratados += "[onkeydown: " + ctrlTratado.getAttribute("onkeydown") + "]";
ctrlsTratados += "[onkeypress: " + ctrlTratado.getAttribute("onkeypress") + "]";
ctrlsTratados += "[onkeyup: " + ctrlTratado.getAttribute("onkeyup") + "]}";
}
/*
* Cuando applyModKeyBoardEvents es "apply", se modifica el comportamiento por defecto
* de los eventos onkeydown, onkeypress y onkeyup en los elementos