[英]Why does 'this.value' work but e.value doesn't?
我是新來的。 我已經在stackoverflow上閱讀了很多內容,但這是我的第一個問題。 希望這不是一個愚蠢的。 我知道人群有時會很苛刻,而且往往也是如此。 :)
在以下代碼中,當您在第一個輸入框中輸入文本時,警報不會顯示您輸入的內容。 但是在第二個框中,當您鍵入內容時,警報會顯示它。
不同之處在於使用'this.value'與'e.value'。
我認為他們都應該工作,因為'e.value'引用了一個元素,我認為'this.value'也有,但顯然我錯過了一些東西,因為它沒有做同樣的事情。
提前致謝。
<!DOCTYPE html>
<html>
<head><script>
window.onload = function () {var e;
e = document.getElementById('eInput');
if (!e.onkeyup) {e.onkeyup = function () {alert (e.value); }; }
e = document.getElementById('thisInput');
if (!e.onkeyup) {e.onkeyup = function () {alert (this.value); }; }
}
</script></head>
<body>
<input type="text" id='eInput'></input><br><br>
<input type="text" id='thisInput'></input>
</body>
</html>
函數中的e
應該引用觸發事件的元素。 你應該把它function (e) {alert (e.target.value); }; }
function (e) {alert (e.target.value); }; }
現在, e
是觸發onkeyup功能的事件,您可以訪問目標以獲取值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.