Один слушатель для входа, другой для документа. Слушатель ввода - keydown, нажатие документа. Событие input вызывается первым и заставляет событие замолчать, но слушатель документа по-прежнему вызывается! Почему?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test Silence</title>
</head>
<body>
<input type="text" id="test" name="test" />
<script>
var docListener = function(event)
{
var d = document.createElement( "div" );
d.textContent = "documentListener";
document.body.appendChild( d );
}
//Add key listener to document
document.addEventListener( "keypress", docListener, true );
var inputListener = function(event)
{
var d = document.createElement( "div" );
d.textContent = "inputListener";
document.body.appendChild( d );
//Silence event
event.preventDefault();
event.stopPropagation();
}
//Add key listener to document
document.getElementById( "test" ).addEventListener( "keydown", inputListener, true );
</script>
</body>
</html>