Javascript手动' declick'然后单击子元素,同时单击

时间:2016-10-01 14:06:16

标签: javascript jquery html google-maps click

嗨,请随意提出一个更好的标题,我无法想出一种方法来表达它。

问题

我有一个谷歌地图,指针事件设置为无;当你滚动它时,这会阻止地图滚动进入并且效果很好。 我有一个div包裹在这个元素周围,当你点击它时,它允许地图上的所有指针事件,因此允许你在地图上滚动。 然后,当您使用鼠标离开地图时,它会重新启用指针事件无,以便您可以滚动它。

主要问题是,当您点击地图时,您必须再次点击它才能滚动。

我想知道是否有可能点击叠加层然后取消点击,然后再次点击该用户以保存他们对于必须再次点击感到困惑。这可能很困难的原因是因为当用户点击它时,它需要在他们仍然按下时取消点击并点击。

代码

我遇到的问题是我在div内有一个谷歌地图,就像在HTML中一样:

<div id="gmap-holder" class="dealer-details__map gmap-scroll-block--on">
    <div id="map" class="dealer-details-gmap"></div>
</div>

JS按照标题

中的说明工作
$('.dealer-details__map').on('click', function(){
    $(this).removeClass('gmap-scroll-block--on');
    $(this).addClass('gmap-scroll-block--off');
});
$('.dealer-details__map').on('mouseleave', function(){
    $(this).addClass('gmap-scroll-block--on');
    $(this).removeClass('gmap-scroll-block--off');
});

我正在努力实现的假设

$('.dealer-details__map').on('click', function(){
    $(this).removeClass('gmap-scroll-block--on');
    $(this).addClass('gmap-scroll-block--off');

    //pseudo start
    //$(this).unclick()
    //$(this).child().click();
    //pseudo end
});

2 个答案:

答案 0 :(得分:1)

您可能希望使用Custom Controls,以便您可以创建自己的控件来处理与用户的交互。这涉及绘制自定义控件,处理自定义控件中的事件和定位自定义控件,当您的功能在按钮中时,它也将更容易跟踪。您可以查看sample代码,以获取有关实现方式的参考。希望这有帮助!

答案 1 :(得分:-1)

$('.dealer-details__map').on('click', function(event){
    event.stopPropagation();
    $(this).child().click();
});