在kineticjs中的处理程序函数中使用全局变量
Use a global variable inside a handler function in kineticjs
我在javascript文件的开头声明了一个名为analysis的全局函数
然后我有一个函数,它被用作contentClicked on stage事件的处理程序。
//global
var analysis
function onStageContentClicked(event){
//I use analysis
var pointId = "a point name";
if (analysis.hasPoint(pointId)){
//....do some more things
}
//...and more...
}
$(document).ready(function(){
if ($("select").val() === "Downs"){
analysis = Downs(23);
stage.on("contentClicked", onStageContentClicked);
}
});
Inside on StageContentClickd on if part I get a cannot find hasPoint of undefined。这意味着我的Downs对象未设置。我在另一个名为analysis.js的js文件中创建了一个Downs类
function Downs (maxPoints){
this.points = {};
this.maxPoints = maxPoints
this.go_apostrophe;
this.go_apoAngle;
this.bicetrix = [];
}
Downs.prototype.addPoint = function (pos, pointId){
this.points[pointID] = {'x':pos.x, 'y':pos.y};
}
Downs.prototype.pointExists = function (pointId){
var pointIds = Object.keys(this.points);
for (var i=0; i< pointIds.length; i++){
if (pointId === pointIds[i]){
return true;
}
}
return false;
}
//etc
但我无法创建对象。我打赌我在用calss对象做错事。你能帮我吗?我在包含主文档.ready代码的js文件之前添加了我的analysis.js。
Downs
是一个构造函数,因此需要使用new
:调用它
analysis = new Downs(23);
相关文章:
- 在javascript函数中设置全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 创建要在其他函数中使用的全局变量
- 函数中的innerHTML(全局变量?)
- 全局变量只能由第一个函数访问
- 匿名自执行js函数内部的全局变量在外部仍然可用
- 更改函数内部的全局变量而不调用它
- 如何制作全局javascript函数和变量
- 改进js代码以删除全局变量和函数
- 调用函数后如何重置全局变量
- 无法在函数中检索全局变量的值
- 将全局变量传递给自调用函数或“IIFE”的目的
- 保留 JQuery Vars 用于另一个函数(全局变量?)
- 如何在 ajax 调用后更改包装器 JavaScript 函数中的全局变量
- 删除两个函数使用的全局变量
- 如何将socket.on中函数的值保存为全局变量
- angular/javascript无法识别函数内部的全局变量
- 如何修改函数内部的全局变量
- jQuery-函数全局变量
- JS函数/全局变量的作用域