gpt4 book ai didi

jQuery 如果单击时不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:31 25 4
gpt4 key购买 nike

我一直在尝试让它工作,但没有成功。该代码似乎在第一次单击时工作正常,但在几次单击后,它随机输出两个 if 条件的次数不断增加。

在服务器端,我使用 Node.js

var sys = require('sys');
var net = require('net');
var mqtt = require('mqttclient');

var io = require('socket.io').listen(5000);
var client = new mqtt.MQTTClient(1883, '192.168.1.33', 'SERVER NODO');

io.sockets.on('connection', function (socket) {
socket.on('subscribe', function (data) {
console.log('Subscribing to '+data.topic);
client.subscribe(data.topic);
});

});


io.sockets.on('connection', function (socket) {

socket.on('publish', function (data){
console.log('publishing to '+data.topic);
client.publish(data.topic,data.payload);

});


});

//Sends to Web
client.addListener('mqttData', function(topic, payload){
sys.puts(topic+'='+payload);
io.sockets.emit('mqtt',{'topic':String(topic),
'payload':String(payload)});
});

在客户端,我有这个页面,它加载正确,第一个 if block 似乎没问题,但第二个 block 我遇到了麻烦。我没有任何编程经验,但我正在努力学习!

已经尝试了不同的组合来使其发挥作用(例如,在 if 条件之后放置 on click,但结果相同。

<link rel="stylesheet" href="style2.css">
<script type="text/javascript" src="http://192.168.1.33:5000/socket.io/socket.io.js</script>
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
var socket = io.connect('http://192.168.1.33:5000');
$(document).ready(function(){
socket.on('connect', function () {
socket.on('mqtt', function (msg) {

console.log(msg.topic+' '+msg.payload);

var classe = 0;

if (msg.topic == "uno"){

if (msg.payload == "a")
$('#button').addClass('on');
classe = 1;
if (msg.payload == "b")
$('#button').removeClass('on');
casse = 0;


}

$('#button').on('click', function(){

if (classe == 1)){
classe = 3;
socket.emit('publish',{topic:"unor", payload:"off"});
}

if (classe == 0){
classe = 3;
socket.emit('publish',{topic:"unor", payload:"on"});

}
});

});

socket.emit('subscribe',{topic:"uno"});


});
</script>
<tbody>
<section>
<a href="#" id="button">&#xF011;</a>
<span></span>
</section>
</tbody>

最佳答案

您的问题可能与点击事件有关,请尝试使用以下代码。

$('#button').off('click').on('click', function(){

if (classe == 1)){
classe = 3;
socket.emit('publish',{topic:"unor", payload:"off"});
}

if (classe == 0){
classe = 3;
socket.emit('publish',{topic:"unor", payload:"on"});
}
});

希望这对您有帮助。

关于jQuery 如果单击时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14090154/

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