Ich benutze Node.js + Express + Jade + Socket.io, um Click-Ereignisse in einem Browser einzurichten, um einen Klick auf eine Schaltfläche in einem anderen auszulösen. Ich habe Schwierigkeiten, dies zur Arbeit zu bringen. Der Code, den ich bisher habe, ist:Click Ereignis in node.js funktioniert nicht
Client-Seite (index.jade):
var socket = io.connect('http://localhost:8080');
$('#buttonLeft').tap(function() {
socket.emit('keyLeft');
});
});
Server-Seite:
var sockets = {};
io.sockets.on('connection', function (socket) {
socket.on('keyLeft', function(){
socket.broadcast.emit('keyLeft');
});
});
Eine andere Client-Seite (index.php):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
\t <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
\t <link rel="stylesheet" href="slider-style.css" />
\t <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
\t <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
</head>
<body>
<?php
\t $imagesTotal = 8; // SET TOTAL IMAGES IN GALLERY
?>
<div class="galleryContainer">
<div class="galleryPreviewContainer">
<div class="galleryPreviewImage">
<?php
for ($i = 1; $i <= $imagesTotal; $i++) {
echo '<img class="previewImage' . $i . '" src="images/image' . $i . '.jpg" width="900" height="auto" alt="" />';
}
?>
</div>
<div class="galleryPreviewArrows">
<a id="previousSlideArrow" href="#" class="previousSlideArrow"><</a>
<a id="nextSlideArrow" href="#" class="nextSlideArrow">></a>
</div>
</div>
<script type="text/javascript">
// init variables
var imagesTotal = <?php echo $imagesTotal; ?>;
var currentImage = 1;
var thumbsTotalWidth = 0;
$('a.galleryBullet' + currentImage).addClass("active");
$('a.thumbnailsimage' + currentImage).addClass("active");
$('div.description' + currentImage).addClass("visible");
// PREVIOUS ARROW CODE
$('a.previousSlideArrow').click(function() {
\t $('img.previewImage' + currentImage).hide();
\t $('a.galleryBullet' + currentImage).removeClass("active");
\t $('a.thumbnailsimage' + currentImage).removeClass("active");
\t $('div.description' + currentImage).removeClass("visible");
\t currentImage--;
\t if (currentImage == 0) {
\t \t currentImage = imagesTotal;
\t }
\t $('a.galleryBullet' + currentImage).addClass("active");
\t $('a.thumbnailsimage' + currentImage).addClass("active");
\t $('img.previewImage' + currentImage).show();
\t $('div.description' + currentImage).addClass("visible");
\t return false;
});
// ===================
// NEXT ARROW CODE
$('a.nextSlideArrow').click(function() {
\t $('img.previewImage' + currentImage).hide();
\t $('a.galleryBullet' + currentImage).removeClass("active");
\t $('a.thumbnailsimage' + currentImage).removeClass("active");
\t $('div.description' + currentImage).removeClass("visible");
\t currentImage++;
\t if (currentImage == imagesTotal + 1) {
\t \t currentImage = 1;
\t }
\t $('a.galleryBullet' + currentImage).addClass("active");
\t $('a.thumbnailsimage' + currentImage).addClass("active");
\t $('img.previewImage' + currentImage).show();
\t $('div.description' + currentImage).addClass("visible");
\t return false;
});
// ===================
</script>
<script src="http://mojoer.kr:8080/socket.io/socket.io.js"></script>
<script src="slide-script.js></script>
</body>
</html>
Jede Hilfe würde wirklich geschätzt werden. Dank ~
so haben Sie zwei "io.connect" auf der Client-Seite, ist das richtig? –
Was bedeutet "Schwierigkeiten haben, dies zur Arbeit zu bringen"? geben Sie uns bitte Details – mk12ok
@MarcosCasagrande ja, du hast Recht. Ich habe io.connect in beiden Clients. –