我有一个带有包含方法功能的类的javascript文件。我想知道如何从onClick事件中调用类实例方法。
function MyClass()
{
this.instanceData = "Display Me";
this.DisplayData = function()
{
document.write(this.instanceData);
}
}
var classInstance = new MyClass();
我将如何通过onClick事件在classInstance上调用DisplayData函数。例如:
<button onClick="classInstance.DisplayData()">Click Me!</button>
这行不通,但是可以帮助我弄清楚我要做什么。有什么建议么?
最佳答案
http://jsfiddle.net/EyMCQ/1/
如您所见,这是行不通的,因为您声明的var仍在执行块的范围内。如果删除var,它将起作用,因为classInstance
现在在全局范围内。
function MyClass() {
this.instanceData = "Display Me";
this.DisplayData = function() {
alert(this.instanceData);
}
}
classInstance = new MyClass();
并这样称呼它:
<button onClick="classInstance.DisplayData.call(classInstance)">Click Me!</button>
http://jsfiddle.net/EyMCQ/2/