私は、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>
その後、イベントは正しくトリガーされます。バグですか?