Javascript 我怎样才能得到;这";在onlick期间引用类而不是html按钮?

Javascript 我怎样才能得到;这";在onlick期间引用类而不是html按钮?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我用JavaScript创建了一个秒表类,当用户单击“启动秒表”按钮时,秒表应该启动 我的问题是,当用户单击“启动秒表”按钮时,“这”引用的是按钮而不是秒表对象 有什么建议吗 以下是一个例子: 因为您使用的是jQuery: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 这是我在没有代码的情况下能做的最好的事情: <a id="start_stop

我用JavaScript创建了一个秒表类,当用户单击“启动秒表”按钮时,秒表应该启动

我的问题是,当用户单击“启动秒表”按钮时,“这”引用的是按钮而不是秒表对象

有什么建议吗

以下是一个例子:

因为您使用的是jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

这是我在没有代码的情况下能做的最好的事情:

<a id="start_stopwatch" onclick="yourStopwatchClass.start.call(yourStopwatchClass)">Start stopwatch!</a>
启动秒表!

call
this
变量引用到您传入的任何对象,在本例中为您的
Stopwatch
类。

函数的
this
值由函数调用方式设置。对于侦听器,如果指定如下内容:

element.onclick = instance.method;
然后,处理程序将或多或少地将其作为元素的方法调用,并将其
this
设置为元素。使用其他方法(
addEventListener
和各种库方案)附加侦听器也可以做同样的事情

您可以使用或,但也可以包装函数并调用它以将
设置为所需的对象:

element.onclick = funciotn() {insance.method()};

您还可以使用ES5提供的各种库和。请在此处显示您的代码。没有人想浏览你的网站JavaScript没有类。它有基于原型的对象。是的,
这个
将代表按钮。存储对其他对象的引用,如果这是您想要使用的。。。不要发布整个程序。发布一个测试用例。@lbu谢谢。下一次就可以了。@LightnessRacesinOrbit我下次会发布一个测试用例。这是我在这里的第一篇文章。如果OP没有提到jQuery,通常最好使用普通Javascript。@ElliotBonneville:OP的代码使用jQuery。如果你费心去看的话,你会发现:)@ElliotBonneville:你的观点仍然是正确的,因为这个问题并不十分清楚。我更新了我的答案,加入了链接页面上使用的脚本元素。谢谢。我会考虑到这一点,尽管如果可以避免的话,我不喜欢编写内嵌JavaScript。
element.onclick = funciotn() {insance.method()};