簡體   English   中英

JS 函數沒有被 onClick 調用

[英]JS Function not being called with onClick

我正在嘗試調用一個函數,讓我們在外部 JS 腳本中說“example()”。

腳本/examplefile.js

 function example() { console.log('function called'); // blah blah blah } console.log('JS file was run');
 <html> <head> <script src='Scripts/examplefile.js'></script> </head> <body> <button type='button' onClick='example()'>Click me</button> </body> </html>

控制台確實打印了“JS 文件已運行”,但按鈕什么也不做。

//EDIT// 解決方案:我的實際 JS 函數名稱是“checkValidity”,它不受支持或不合法。 沒有把握。 我把它改成了別的東西,它正在工作。

問題重現:

 <html> <head> <script> function checkValidity() { console.log('function called'); } console.log('jsok'); </script> </head> <body> <button type='button' onClick='checkValidity()'>Click me</button> </body> </html>

您錯過了使 HTML 無效的結束'

<script src='Scripts/examplefile.js></script>

 function example() { console.log('function called'); // blah blah blah } console.log('JS file was run');
 <html> <head> <script src='Scripts/examplefile.js'></script> </head> <body> <button type='button' onClick='example()'>Click me</button> </body> </html>

嘗試將包含腳本標記放在頁面底部:

<html>
   <head>

   </head>
   <body>
      <button type='button' onClick='example()'>Click me</button>
      <script src='Scripts/examplefile.js></script>
   </body>
</html>

我認為您可能已經在另一個函數中定義了“示例”,因此您沒有在全局范圍內使用它。

這段代碼就像你提供的一樣,效果很好:

 <html> <head> <script> function example() { console.log('function called'); // blah blah blah } console.log('JS file was run'); </script> </head> <body> <button type="button" onClick="example()"">Click me</button> </body> </html>

你也可以用這支筆在線測試: https : //codepen.io/jmelfers/pen/bmRVVL?editors=1011

聚會有點晚,但對於未來的搜索者來說。 代碼很好,但我遇到了同樣的問題。

測試時,在源代碼下(檢查元素時)查看腳本是否真的存在。 否則硬刷新直到它可見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM