我在JavaScript中製作了一個Stopwatch類,當用戶點擊「開始秒錶」按鈕時,秒錶應該啓動。如何在onlick過程中使用「this」來引用Class而不是HTML按鈕?
我的問題是,當用戶點擊「開始秒錶」按鈕時,「this」引用按鈕而不是秒錶對象。
有什麼建議嗎?
下面是一個例子: https://c9.io/rjfreund/stopwatch/workspace/stopwatch.html
我在JavaScript中製作了一個Stopwatch類,當用戶點擊「開始秒錶」按鈕時,秒錶應該啓動。如何在onlick過程中使用「this」來引用Class而不是HTML按鈕?
我的問題是,當用戶點擊「開始秒錶」按鈕時,「this」引用按鈕而不是秒錶對象。
有什麼建議嗎?
下面是一個例子: https://c9.io/rjfreund/stopwatch/workspace/stopwatch.html
由於您使用jQuery的:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
...使用.bind()
或.on()
到處理程序綁定,並設置對象的事件 - 數據。
$('.yourElement').on("click", {obj: yourObject}, function(event) {
alert(event.data.obj);
});
-1,OP沒有提到jQuery。 –
如果OP沒有提到jQuery,通常最好使用vanilla Javascript。 –
@ElliotBonneville:在代碼中使用jQuery。 –
這是一個沒有代碼,我能做的最好的:
<a id="start_stopwatch" onclick="yourStopwatchClass.start.call(yourStopwatchClass)">Start stopwatch!</a>
call
指的this
變量,無論你傳遞,在這種情況下,你Stopwatch
類。
謝謝。我會考慮到這一點,但如果可以避免的話,我寧願不寫JavaScript。 – RJFreund
請在此處顯示您的代碼。沒有人想去挖掘你的網站 – Ibu
Javascript沒有課程。它具有基於原型的對象。而且,是的,這個代表這個按鈕。存儲對其他對象的引用,如果這是你想要使用的。 –
..並且不要發佈整個程序。發佈_testcase_。 –