비표준 그누보드4 첫커밋
This commit is contained in:
70
js/capslock.js
Normal file
70
js/capslock.js
Normal file
@ -0,0 +1,70 @@
|
||||
if (typeof(CAPSLOCK_JS) == 'undefined') // 한번만 실행
|
||||
{
|
||||
if (typeof g4_path == 'undefined')
|
||||
alert('g4_path 변수가 선언되지 않았습니다. js/capslock.js');
|
||||
|
||||
var CAPSLOCK_JS = true;
|
||||
|
||||
var capslock_delay = 3000; // "CapsLock 이 켜져 있습니다." 이미지를 몇초간 출력할 것인지?
|
||||
var capslock_left = -4; // CaplsLock 이미지의 X 좌표
|
||||
var capslock_top = 0; // CaplsLock 이미지의 Y 좌표
|
||||
function check_capslock(e, elem_id) {
|
||||
var myKeyCode=0;
|
||||
var myShiftKey=false;
|
||||
|
||||
if ( document.all ) { // Internet Explorer 4+
|
||||
myKeyCode=e.keyCode;
|
||||
myShiftKey=e.shiftKey;
|
||||
} else if ( document.layers ) { // Netscape 4
|
||||
myKeyCode=e.which;
|
||||
myShiftKey=( myKeyCode == 16 ) ? true : false;
|
||||
} else if ( document.getElementById ) { // Netscape 6
|
||||
myKeyCode=e.which;
|
||||
myShiftKey=( myKeyCode == 16 ) ? true : false;
|
||||
}
|
||||
|
||||
// Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
|
||||
if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
|
||||
set_capslock_on(elem_id);
|
||||
// Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on
|
||||
} else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
|
||||
set_capslock_on(elem_id);
|
||||
}
|
||||
}
|
||||
|
||||
function set_capslock_on(elem_id) {
|
||||
set_capslock_info_position(elem_id);
|
||||
document.getElementById("capslock_info").style.display = "inline";
|
||||
setTimeout("set_capslock_off()", capslock_delay);
|
||||
}
|
||||
|
||||
function set_capslock_off(elem_id) {
|
||||
document.getElementById("capslock_info").style.display = "none";
|
||||
}
|
||||
|
||||
function set_capslock_info_position(elem_id) {
|
||||
var o = document.getElementById("capslock_info");
|
||||
var ref = document.getElementById(elem_id);
|
||||
//var s = ""; for (i in ref) {s = s + i + " "; } alert(s);
|
||||
if ( typeof(o)=="object" && typeof(ref)=="object" ) {
|
||||
var x = get_real_left(ref);
|
||||
var y = get_real_top(ref);
|
||||
//o.style.pixelLeft = x + capslock_left;
|
||||
//o.style.pixelTop = y + ref.offsetHeight + capslock_top;
|
||||
o.style.left = x + capslock_left;
|
||||
o.style.top = y + ref.offsetHeight + capslock_top;
|
||||
}
|
||||
}
|
||||
|
||||
function get_real_left(obj) {
|
||||
if ( obj.offsetParent == null ) return 0;
|
||||
return obj.offsetLeft + obj.clientLeft + get_real_left(obj.offsetParent);
|
||||
}
|
||||
|
||||
function get_real_top(obj) {
|
||||
if ( obj.offsetParent == null ) return 0;
|
||||
return obj.offsetTop + obj.clientTop + get_real_top(obj.offsetParent);
|
||||
}
|
||||
|
||||
document.write("<div id='capslock_info' style='display:none; position:absolute;'><img src='"+g4_path+"/img/capslock.gif'></div>");
|
||||
}
|
||||
Reference in New Issue
Block a user