この 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;
}
}
}