■ textarea の scrollイベントがEdgeで実行されない不具合の解消 [JavaScript版]

 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なのか原因不明である。

textarea の scrollイベントがEdgeで実行されない

ホーム