簡體   English   中英

HTML onclick-如何訪問功能

[英]HTML onclick - How to Access a Function

我需要從一個單獨的文件中的html onclick訪問另一個函數中的一個函數,我認為是因為它在另一個函數中,這就是為什么它返回未定義狀態,我可以訪問嵌套在索引文件中的函數,但是一個我需要我不能。 該函數在我的套接字函數中,因為它使用其ID。

我嘗試訪問的功能采用以下格式:

io.of('/main').on('connection', function (socket) {

    socket.on('chat message', function (msg) {

     function oneCall() {

我正在嘗試訪問的是此oneCall函數。 當我調用此套接字范圍之外的函數時,它可以正常工作,但是我需要在套接字內使用該函數嗎?

謝謝。

您可能要查找功能范圍 如果您的函數僅存在於另一個函數中,那么您將無法訪問另一個函數范圍之外的那個函數

例:

function exampleFunction() {
    function otherFunction() {
        //do something
    }

    otherFunction();
}

從這個非常小的示例中,我們構造一個函數並在另一個函數中調用該函數。 現在,如果您嘗試在exampleFunction范圍之外調用otherFunction ,則它將不起作用,因為它在exampleFunction范圍之外。 otherFunction僅存在於exampleFunction的范圍內。

現在,如果您在其他函數的范圍之外聲明了函數,則可以在頁面上的任何位置訪問該函數。

例:

function exampleFunction() {    
    otherFunction();
}

function otherFunction() {
    //do something
}

這些函數現在可以獨立運行,並且otherFunction可以在任何需要的地方使用。 您可以選擇呼叫otherFunctionexampleFunction,將執行otherFunctionexampleFunction被調用時。

如果您希望在onclick功能中使用otherFunction ,則可以立即執行此操作,因為它是獨立的,並且存在於全局范圍內

例:

<button onclick="otherFunction();">Click me!</button>

根據您最近的評論,關於在函數oneCall中訪問特定值(在您的情況下為套接字ID),您可以選擇將值解析為函數的參數。

例:

function oneCall(socketID) {
    //do something
}

函數nowCall中的參數socketID現在可以用作任何JavaScript變量,您可以使用它執行所需的任何邏輯。

並將套接字ID值解析為函數,您需要執行以下操作:

onecall(variable_containing_socket_id);

當然,您也可以在一個函數中聲明多個參數。

例:

function oneCall(socketID, anotherParameter, andAnotherOne) {
    //do something
}

onecall(socket_id, value, anotherValue);

約函數參數W3Schools的簡單的信息在這里

暫無
暫無

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

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