簡體   English   中英

在外部js文件中調用js函數

[英]Calling js function in external js file

我正在嘗試使用警報調用一個簡單的函數,但是當我嘗試從我的html頁面調用函數(包含在外部js文件中)時它不會工作。

我有一個導入,電話很簡單。 有什么建議么?

    <head>
<script src="/js/jsFunctions.js" type="text/javascript"></script>

在我的代碼中,我打電話

<a href="javascript:displayAlertText('someText');">

在js里面我有一些jquery后跟一個函數

function displayAlertText(someText)
    {
        alert('alert' + someText);
    }

你在做什么看起來應該工作。 問題可能在其他地方。

帶有“Javascript:”前綴的Href實際上非常可怕。 相反,嘗試將其重寫為:

<a href="#" onclick="displayAlertText('someText'); return false;">

除此之外(我認為這實際上不會導致它),你已經犯下了“它沒有用”的主要罪過。 你在控制台中遇到任何Javascript錯誤嗎? 除非確實調用了有效的函數,否則我懷疑你會有。

另外,嘗試從頁面上的<script>塊中顯式調用JS函數,以查看它在什么時候失敗。

仔細檢查外部文件是否真的已經在您點擊鏈接時加載了 - 也許在外部腳本文件的底部放一行來幫助檢查這一點,例如

alert('External file loaded.');

編輯 (根據評論):好的,所以我們已經確定你可以從頁面上的“普通”JavaScript調用該方法。 這意味着問題在於您嘗試從超鏈接調用腳本的方式。

您是否通過驗證器傳遞了HTML? 如果語法無效,則用戶代理可以根據需要對其進行解釋,包括完全忽略它。

如果HTML確實有效,那么此時發布完整HTML的鏈接可能很有用,這樣其他人就可以查看它並查看問題所在。 它可能類似於覆蓋鏈接的onclick事件的另一個函數,因此您的事件處理程序會丟失。

在純jQuery中你會這樣做:

$(document).ready(function(){

    $('a').click(function(){
        alert('here');
    })

})

試試這個......

<a href="#" onclick="displayAlertText('someText');">

如果這沒有幫助,我會開始確保您的javascript文件正確加載,並且在某處不包含一些簡單的語法錯誤。 在Firefox中使用Firebug查看您的頁面並查找警告和錯誤。

你提到了jQuery。 該函數是獨立的還是在jQuery對象中(即包含在另一個函數中)? 這有所不同。

除了這個問題,你調用函數的方式也不干凈。 將其移動到onclick屬性或更好地使用jQuery。

暫無
暫無

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

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