-2

この JS 関数を理解しようとしています: JS Fiddle Demo

私は基本的に、私が学ぼうとしている本からそれを手に入れました。この本のタイトルは「JavaScript: The Definitive Guide」(pg484) です。ただし、関数には、それに付随する html が含まれていません。誰かがこれを機能させるhtmlを書くのを手伝ってくれたらありがたいです。そうすれば、それがどのように機能するかをよりよく理解できるかもしれません. 上記のリンクでこれを突き刺しました。

私はこの本のやり方が本当に好きではありません。それはたくさん起こります。私は初心者ですが、ここに来て答えを得ること以外に何をすべきかアドバイスを持っている人はいますか.

どんな助けにも感謝します。

//Example 17-7. Using the propertychange event to detect text input
function forceToUpperCase(element) {
  if (typeof element === "string") element = document.getElementById(element);
  element.oninput = upcase;
  element.onpropertychange = upcaseOnPropertyChange;
  // Easy case: the handler for the input event
  function upcase(event) { this.value = this.value.toUpperCase(); }
  // Hard case: the handler for the propertychange event
  function upcaseOnPropertyChange(event) {
    var e = event || window.event;
    // If the value property changed
    if (e.propertyName === "value") {
      // Remove onpropertychange handler to avoid recursion
      this.onpropertychange = null;
      // Change the value to all uppercase
      this.value = this.value.toUpperCase();
      // And restore the original propertychange handler
      this.onpropertychange = upcaseOnPropertyChange;
    }
  }
}
4

2 に答える 2