Enterキーを押すとJavascriptを実行したい時
テキストボックス等にfocusしている状態で、Enterキーを押下すると、
通常はformが走ったりするものですが、そうじゃなくて、Javascriptを
実行したい時は、下記の様にしています。
var safeEnter = function(){ Element.observe($('textBox'), 'focus', function(){ Element.observe(window.document, 'keypress', kd = function(event){ if(event.keyCode==13){ Event.stop(event); ACTION(); } }); }); Element.observe($('textBox'), 'blur', function(){ Element.stopObserving(window.document, 'keypress', kd); }); }
ACTIONが実行したい関数。
prototype.js使ってます。
safeEnterの呼び出しは、onload時に1回呼ぶのが好ましいと思います・・。
blueは効いてないってか要らないかも・・・。
stopObservingってこの呼び方でもいいのかな?
もっといいやり方あったら教えてください。
参考にもし、もし、なったらコメントください。
話は変わりますが、
invokeを使ってstopObservingが効かない様に思えるんだが・・・
何か間違ってるのかな。。