我发现prototype.js库提供了事件处理机制,但我不知道下面的代码片段有什么问题:
<div>
<div id="foo">Bla-bla</div>
</div>
<script type="text/javascript">
function onFooKeyup(e)
{
var element = e.element();
if (e.keyCode == Event.KEY_ESC)
element.innerHTML="TEST";
}
//document.observe('keydown', onFooKeyup);
$('foo').observe('keydown', onFooKeyup);
</script>
基本上我想在用户按下退出按钮时更改某些 div 块的内容(或做样式等)。问题是观察foo
id 不会导致任何操作,而观察文档(注释行)确实会触发更改。foo
如果我用输入标签替换我的div 块,例如
<div><input type="text" id="foo" /></div>
那么事件将被正确触发。它是一个错误吗?