jquery Chrome中未捕获的TypeError不是FireFox中的函数

pw136qt2  于 2022-12-18  发布在  jQuery
关注(0)|答案(2)|浏览(160)

我想将可变缩放设置为map.GetZoom(),但我在Chrome和Firefox中都遇到了以下错误:

  • chrome *

未捕获的类型错误:对象#没有方法'getZoom'

  • 火狐 *

gmap.getZoom不是函数
缩放= gmap.getZoom();

第一个问题我在代码中犯了什么错误?

  • 默认.js*
window.gmap = {
 zoom_Changed: function() {

 zoom = gmap.getZoom();

 if(zoom > 15) {
  document.write("hello");
 } else {
 } 
 }
};

Edit:Gmap是在我的www.example.com中定义views.py,zoom_Changed函数是针对我的views.py中的事件侦听器的。
查看次数.py

maps.event.addListener(gmap, 'zoom_changed', 'gmap.zoom_Changed');
qoefvg9y

qoefvg9y1#

应该是zoom = this.getZoom();而不是zoom = gmap.getZoom();

oxcyiej7

oxcyiej72#

getZoom()还是GetZoom()?问题和代码示例中的大小写不同。
silverbtf所说的部分是正确的,我相信,(我很难在我的上网本上测试)。然而,通过再次将gmap设置为一个对象文字(window.gmap = {...}),您正在清除任何附加到window对象的现有gmap变量。
您可以像下面这样重写代码:

gmap.zoom_Changed = function () {
    var zoom = this.getZoom(); // or .GetZoom()
    if (zoom > 15) {
        console.log('over 15');
    } else {
        console.log('under 15');
    }
}

这样,您就将一个新方法附加到了已经存在的gmap上,而不是将其删除。

相关问题