gpt4 book ai didi

Javascript 函数未在 jquery onready 之外定义

转载 作者:行者123 更新时间:2023-12-02 16:57:59 27 4
gpt4 key购买 nike

下面是我的js文件和两个div,我不明白为什么html2不起作用,我得到“sendMessage未定义”。有人可以向我解释一下...或者只是一个解释链接。

谢谢

    $(function() {

var WS = window['MozWebSocket'] ? MozWebSocket : WebSocket

var wsUrl = jsRoutes.controllers.P2.connect().absoluteURL();
wsUrl = wsUrl.replace("http", "ws");

var p2Socket = new WS(wsUrl)

var sendMessage = function() {
p2Socket.send(JSON.stringify(
{text: "HI"}
))

}

$("#buttonHi" ).click(function() {
sendMessage()
});
});

function sendMessageOutside(){
sendMessage();
}

和 Html 1 ...

<div id="p2-console" style="border: 1px solid;">
<button id="buttonHi" >Interact</button>
</div>

还有 Html 2 ...

<div id="p2-console" style="border: 1px solid;">
<button id="buttonHi" onclick="sendMessageOutside()">Interact</button>
</div>

最佳答案

您正在 jquery 函数中本地定义 sendmessage,sendMessageOutside() 函数无法在该范围之外看到它。您需要将 sendmessage 定义为全局变量,然后尝试一下。

    var sendmessage;
$(function() {

var WS = window['MozWebSocket'] ? MozWebSocket : WebSocket

var wsUrl = jsRoutes.controllers.P2.connect().absoluteURL();
wsUrl = wsUrl.replace("http", "ws");

var p2Socket = new WS(wsUrl)

sendMessage = function() {
p2Socket.send(JSON.stringify(
{text: "HI"}
))

}

$("#buttonHi" ).click(function() {
sendMessage()
});
});

function sendMessageOutside(){
sendMessage();
}

关于Javascript 函数未在 jquery onready 之外定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26019977/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com