prototype.jsのobserve()などでイベントを登録した場合に、IEではthisをうまく参照できないのだが、どうやればいいのだろうか。
やりたいことは、JavaScript側でイベント登録をして、呼び出された関数内で自身のエレメントを参照したいのだけど・・・。
追記:
今こういう状況。FirefoxとSafariでは動くがIEでのみ動かない。
function numconv(numstr) { han = "0123456789-+"; zen = "0123456789−+"; str = ""; for (i =0; i < numstr.length; i++) { c = numstr.charAt(i); n = zen.indexOf(c, 0); if (n >= 0) c = han.charAt(n); str += c; } return str; } window.onload = function(){ var numObj = document.getElementsByClassName("numconvert"); numObj.each(function(obj){ Event.observe(obj, "blur", numconvert, false); }); } function numconvert() { this.value = numconv(this.value); }
class="numconvert"にしているのはinput type="text"
さらに追記:
解決した。
prototype.jsのバージョンが1.5だと動かないが、1.6だと問題なく動くみたい。id:uskzに感謝。