Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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 ngTouch模块阻止从href属性重定向到url_Javascript_Angularjs_Angularjs Ng Touch - Fatal编程技术网

Javascript ngTouch模块阻止从href属性重定向到url

Javascript ngTouch模块阻止从href属性重定向到url,javascript,angularjs,angularjs-ng-touch,Javascript,Angularjs,Angularjs Ng Touch,我在移动设备上的应用程序出现问题。我有这样的想法: <a href="#!/kategori/hva-skjer" ng-click="toggleMenu()"> 我不知道这是否仍然有用,因为这个问题已经有一年多的历史了,但我最近也遇到了同样的问题。似乎有一个已知的关于ngTouch的bug。() 对我有效的解决方案如下: 将ng touch文件(angular touch.js)的内容替换为您可以找到的文件。(这一步对某些人来说可能不是必需的,但对我来说却是出于某种原因。) 然

我在移动设备上的应用程序出现问题。我有这样的想法:

<a href="#!/kategori/hva-skjer" ng-click="toggleMenu()">

我不知道这是否仍然有用,因为这个问题已经有一年多的历史了,但我最近也遇到了同样的问题。似乎有一个已知的关于ngTouch的bug。()

对我有效的解决方案如下:

将ng touch文件(angular touch.js)的内容替换为您可以找到的文件。(这一步对某些人来说可能不是必需的,但对我来说却是出于某种原因。)

然后进入文件并更改以下行:

ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement',
function($parse, $timeout, $rootElement) {
致:

然后找到这部分:

    if (!angular.isDefined(attr.disabled) || attr.disabled === false) {
       element.triggerHandler('click', [event]);
     }
并在其下方添加一个if,如下所示:

if (!angular.isDefined(attr.disabled) || attr.disabled === false) {
       element.triggerHandler('click', [event]);
     }
if the element has an href attribute, ensure that the url gets updated.
   if (attr.href && angular.isString(attr.href)) {
    $location.url(attr.href);
   }

您也可以停止使用href并手动将hrefs更改为location.go()函数,但此解决方案可为您做到这一点。

这是一个旧错误,在此之前尚未修复。Href和ng click不能一起工作

下面您将看到如何避免此错误

if (!angular.isDefined(attr.disabled) || attr.disabled === false) {
       element.triggerHandler('click', [event]);
     }
if the element has an href attribute, ensure that the url gets updated.
   if (attr.href && angular.isString(attr.href)) {
    $location.url(attr.href);
   }