2017-09-23 93 views
0

我有一個鏈接的JavaScript未捕獲的語法錯誤:缺少)

<a ng-click="logout()"> 

我想上面的鏈接更改爲下面的代碼

<a ng-click="logout()" onclick="setTimeout(function() { window.location = 'https://demo.test.ca/log'; }, 3000);"> 

我使用第三方解決方案,在此您可以更改直接編碼而不用修改實際的代碼。

但問題是,當我編寫改變代碼的政策。當這個應用程序加載它給我以下錯誤

Uncaught SyntaxError: missing) after argument list 

所以請幫我解決這個問題。

+0

你能不能顯示logout()函數!? – M0ns1f

+2

爲什麼在同一個元素上有'ng-click'和'onclick'。 – Thusitha

+1

控制檯應該告訴你代碼中的哪一行導致問題,那麼爲什麼不檢查它?你的'onclick'沒問題,所以錯誤可以用'ng-click'函數來表示。 – Fuross

回答

0

你必須關閉<a>標籤

<a ng-click="logout()" onclick="setTimeout(function() { window.location = 'https://demo.test.ca/log'; }, 3000);"> 
</a> 
+0

它已經在那裏。 – user3441151

+0

爲什麼我看不到? @ user3441151 –

0

a:link { 
 
    text-decoration: none; 
 
} 
 

 
a:visited { 
 
    text-decoration: none; 
 
} 
 

 
a:hover { 
 
    text-decoration: underline; 
 
} 
 

 
a:active { 
 
    text-decoration: underline; 
 
}
<!DOCTYPE html> 
 
<html> 
 
    <body> 
 
    <a ng-click="logout()" type="button" value="Load new document" onclick="myFunction()">Click Me</a> 
 
    <script> 
 
     function myFunction() { 
 
     setTimeout(function() { 
 
      window.location.assign("https://stackoverflow.com/") 
 
     }, 3000); 
 
     } 
 
    </script> 
 
    </body> 
 
</html>

這應該工作,

你可以嘗試

<!DOCTYPE html> 
<html> 
    <body> 
    <a ng-click="logout()" type="button" value="Load new document" onclick="myFunction()">Click Me</a> 
    <script> 
     function myFunction() { 
     setTimeout(function() { 
      window.location.assign("https://stackoverflow.com/") 
     }, 3000); 
     } 
    </script> 
    </body> 
</html> 
0

如果您正在使用angularjs和NG單擊,然後做正確和刪除的onclick並在控制器/指令/組件分配功能$範圍,使您的模板看起來像:

<a ng-click="logout()">Logout</a> 

,並在控制器在註銷功能/指令/分量:

$scope.logout = function() { 
    // logout code .... 
    $timeout(()=> {$window.location = 'https://demo.test.ca/log'; }, 3000); 
} 

另外,還要確保你注入$窗口和$超時,如果你還沒有擁有它,你將需要添加它。

相關問題