Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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 更改传单保持触摸计时_Javascript_Google Maps_Ionic Framework_Leaflet - Fatal编程技术网

Javascript 更改传单保持触摸计时

Javascript 更改传单保持触摸计时,javascript,google-maps,ionic-framework,leaflet,Javascript,Google Maps,Ionic Framework,Leaflet,我正在使用一个用Ionic开发的移动应用程序的传单。我现在有一个功能,当你在地图上单击一次时,在指定的位置附近搜索某些项目 $rootScope.map.on('click', function(e) { if (APP_STATUS == ACTION_SEARCH) { positionClick = e.latlng; $scope.positionSearchClose = positionClick;

我正在使用一个用Ionic开发的移动应用程序的传单。我现在有一个功能,当你在地图上单击一次时,在指定的位置附近搜索某些项目

$rootScope.map.on('click', function(e) {
        if (APP_STATUS == ACTION_SEARCH) {
            positionClick = e.latlng;
            $scope.positionSearchClose = positionClick;
            $scope.userPosition.setLatLng(positionClick);
            $scope.popupSearchRoutesClosed = $ionicPopup.show({
                template: $scope.getTemplate(),
                title: 'Buscando rutas',
                scope: $scope,
            });
            $scope.getRoutesClose(positionClick, ACTION_SEARCH);
        }
    });
    $scope.addButtons();
我想改变这一点,以便在用户短时间按住触摸键时进行搜索。我将“click”参数更改为“contextmenu”,实现了我想要的功能,但我发现保持时间太长。尽管传单文档描述ContextMenu事件“当用户按住一秒钟(也称为长按)时,手机上也会触发该事件”,但感觉“秒”是永恒的


有没有办法使上述功能仅在用户按住触摸键时触发,但指定按住的时间量?

可能需要很长时间。但我已经找了几个小时了。我找到了解决办法,它可能会帮助任何来这里的人

在传单中,触按延迟在settimeout函数中声明为1000ms。它们可以编辑。 在传单.js中找到以下代码:

// simulate long hold but setting a timeout
this._holdTimeout = setTimeout(bind(function () {
    if (this._isTapValid()) {
        this._fireClick = false;
        this._onUp();
        this._simulateEvent('contextmenu', first);
    }
}, this), 1000);
现在这里声明的1000(1秒)是计时器,您可以将1000更改为您喜欢的任何值…例如300或500

如果要动态更改触摸保持(轻触)计时器, 在传单.js开头创建一个变量

var contextMenuTime = 1000;
并在函数中手动应用变量

    ...
    this._simulateEvent('contextmenu', first);
    }
}, this), contextMenuTime);
现在,您可以通过更改变量值来控制抽头延迟