Сообщение от micscr
|
var is_opera = ((agt.indexOf("opera") != -1)||(window.opera));
|
не лучший вариант юзать юзерагент...
раз уж пошла такая пьянка вот мой вариант:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
var keypressed = false, count = 0;
function _log( str ) {
document.body.innerHTML = "(" + count++ + ") " + str + ( keypressed ? ", вы продолжаете ee держать!" : "" );
}
$(document).bind( "keydown keypress", function( e ) {
var keystring = {
"37": "стрелка влево",
"38": "стрелка вверх",
"39": "стрелка вправо",
"40": "стрелка вниз"
}
var timeStamp = (new Date().getTime());
if ( !document.timeStamp || ( ( document.timeStamp + 10 ) < timeStamp ) ) {
if ( e.which === 32 ) {
_log( "Нажат пробел" );
} else if ( e.keyCode > 36 && e.keyCode < 41 ) {
_log( "Нажата функциональная клавиша: " + ( keystring[ e.keyCode ] || "код клавиши " + e.keyCode ) );
} else {
_log( "Нажата клавиша: " + ( keystring[ e.keyCode ] || "код клавиши " + e.keyCode ) );
}
document.timeStamp = timeStamp;
}
keypressed = true;
return false;
}).keyup(function(){
count = 0;
keypressed = false;
_log( "Отпустили клавиши" );
});
</script>
</head>
<body>
</body>
</html>