模拟元素的单击

时间:2013-06-21 20:13:24

标签: javascript jquery google-maps

拥有自定义地图(http://atlas.nrcan.gc.ca/site/english/toporama/index.html),并且有缩放按钮。此缩放没有内联onclick事件。

我需要一个div(在地图之外)并且当它被点击时=>应该模拟放大效果。

我试过了:

onclick="$('#OpenLayers.Control.PanZoomBar_3_zoomin').click()"

但它没有效果。

缩放效果有点复杂,我不想这样挖源来找到调用哪个函数来缩放。我唯一需要的是模拟点击,比如缩放按钮的快捷方式。

有什么建议吗?

4 个答案:

答案 0 :(得分:2)

api有内置的方法

OpenLayers Map对象存储在名为map

的全局变量中

放大:

map.zoomIn();

缩小:

map.zoomOut();

答案 1 :(得分:1)

在函数中尝试$('#OpenLayers\\.Control\\.PanZoomBar_3_zoomin').trigger("click")

编辑 您需要将句点加倍,这样您就不会尝试选择类。

答案 2 :(得分:1)

只做

<script>
    $(function(){
        $('#OpenLayers.Control.PanZoomBar_3_zoomin').click(function(){Do stuff here})
    });
</script>

答案 3 :(得分:0)

我假设某个地方有一个启动缩放事件的功能(取决于地图的来源)。您应该可以使用自己的点击功能重复使用它。

$('#myElement').click(function(){

//callback to zoom function

});

修改

如果您想模拟点击,我会调查.trigger();

$('#OpenLayers.Control.PanZoomBar_3_zoomin').trigger('click');

http://api.jquery.com/trigger/