當您單擊文本But no success when you click me
時,會發生錯誤。我知道錯誤發生的原因。我的問題是什麼是最好的解決辦法?發生此錯誤的原因是,當單擊mydiv
時調用x.a
,this
爲mydiv
。我們怎樣才能使x.a
成功運行時點擊mydiv
?JavaScript中的'this'和addEventListener
<!DOCTYPE html>
<html>
<head>
\t <title></title>
</head>
<body>
\t <div id="mydiv">But no success when you click me</div>
\t <script>
\t \t var x = new Thing();
\t \t var y = document.getElementById('mydiv');
\t \t x.a();
\t \t y.addEventListener('click', x.a, false);
\t \t
\t \t function Thing() {
\t \t \t this.a=function() {
\t \t \t \t this.b();
\t \t \t }
\t \t \t this.b=function() {
\t \t \t \t alert('Success');
\t \t \t }
\t \t }
\t </script>
</body>
</html>
上述HTML文件位於http://globebop.com/intro/test/2.htm –
'x.a'沒有綁定任何東西。用'()=> x.a()'替換'x.a'。 – 2017-02-24 07:23:15
對不起,Toraz。那是錯的。 –