Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:*。watch不是函数(FireFox除外)_Javascript_Jquery - Fatal编程技术网

Javascript 未捕获类型错误:*。watch不是函数(FireFox除外)

Javascript 未捕获类型错误:*。watch不是函数(FireFox除外),javascript,jquery,Javascript,Jquery,我知道这方面有成千上万的问题,但没有人帮忙 问题在于监视事件在FireFox中运行良好,但在其他浏览器中不起作用 我在控制台中遇到此错误: 未捕获类型错误:Step.watch不是函数 我需要从中了解什么?手表只能在FireFox中使用 函数步骤() { this.done=false; this.active=false; }; 函数StepsControl() { this.steps=新数组(); this.addListener=函数(步骤,步骤ID) { var self=这个; 步

我知道这方面有成千上万的问题,但没有人帮忙

问题在于监视事件在FireFox中运行良好,但在其他浏览器中不起作用

我在控制台中遇到此错误:

未捕获类型错误:Step.watch不是函数

我需要从中了解什么?手表只能在FireFox中使用

函数步骤()
{
this.done=false;
this.active=false;
};
函数StepsControl()
{
this.steps=新数组();
this.addListener=函数(步骤,步骤ID)
{
var self=这个;
步进观察('done',函数(id_,oldval,newval)
{
log('Step['+stepId+'].+id+'从'+oldval+'更改为'+newval');
if(self.steps[++stepId]!==未定义)
{
self.steps[stepId].active=true;
log('Step['+stepId+']actived');
}
返回newval;
});
};
this.addStep=函数(步骤)
{
这个。步骤。推(步骤);
this.addListener(步骤,this.steps.length-1);
};
};
var step1=新步骤();
var step2=新步骤();
var stepsControl=新的stepsControl();
步骤控制。添加步骤(步骤1);
步骤控制。添加步骤(步骤2);
步骤1.active=true;
步骤1.done=true

只有firefox才支持观看,Mozilla文档中的

警告:如果可能,通常应避免使用watch()和unwatch()。这两种方法仅在Gecko中实现,它们主要用于调试。此外,使用监视点对性能有严重的负面影响,尤其是在全局对象(如窗口)上使用时。您通常可以使用setter和getter或代理。有关详细信息,请参见浏览器兼容性。另外,不要将Object.watch与Object.observe混淆