textareaのscrollに対するイベント(onScroll)が Microsoft Edgeで実行されない(IE11では実行された)不具合があった。
今回、この問題を解消したので参考までに下記に記す。
● 従来の方法(イベントが実行されない)
html中に
<textarea name="ta0" rows="5" cols="20" value="" onScroll="scroll()"></textarea>
(注)関数 scroll()はJavascript中に記述。
● 新しい方法(イベントが実行される)
JavaScript中に
document.form1.ta0.onscroll = function(){scroll()};
または、
document.form1.ta0.addEventListener("scroll", scroll);
または、
document.form1.ta0.onscroll = scroll;
のように記述する。
以下の記述はNGであった。
document.form1.ta0.onscroll = scroll();
または、
document.form1.ta0.addEventListener("onscroll", scroll);
(注)関数 scroll()は従来同様、Javascript中に記述。
//.............................
function scroll() {
//.............................
var ta = document.form1.ta0;
・
・
}
どうして従来の方法がNGなのか原因不明である。