2016-12-28 14 views
0

ポート3000にindex.htmlをロードし、再生ボタンをクリックすると、すべてのメッセージが正しく送信されますが、音声が一時停止しないために('#pause').click()は実行されません。nodejsとjqueryを使用してボタンを自動的にクリックできません

のindex.htmlコード:

<html> 

<head> 
    <script type="text/javascript" src="new.js"></script> 
    <script src="/socket.io/socket.io.js"></script> 
    <script src="jquery-3.1.1.min.js"></script> 
</head> 

<body> 
    <button type="button" id="play" name="play" value="play">PLAY</button> 
    <button onclick="pauseAd()" type="button" name="pause" value="pause">PAUSE</button> 
    </br> 
    <audio controls id="song"> 
    <source src="Lyrics to Swallowed in the Sea - Coldplay.mp3" type="audio/mpeg"> 
    </audio> 

    <div id="messages"></div> 

    <script> 
    var socket = io.connect("http://localhost:3000"); 

    $(function() { 
     $('#play').bind('click', function() { 
     alert("User clicked on play"); 
     playAd(); 
     socket.emit('msg', { 
      sent: 1 
     }); 
     return false; 
     }); 
    }); 


    socket.on('msg-received', function(data) { 
     if (data.value == 1) { 
     $('#pause').click(); 
     $('#messages').append('<p>message received' + data.value + '</p>') 
     } 
    }); 
    </script> 
</body> 

</html> 

Serverコード:

var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 

app.use(express.static('./Public')); 


app.set('views', __dirname + '/tpl'); 
app.set('view engine', "jade"); 
app.engine('jade', require('jade').__express); 
app.get("/", function(req, res) { 
    res.render("new"); 
}); 


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

    console.log("user connected"); 
    socket.on('msg', function(data) { 
    console.log("message received", data); 

    socket.emit('msg-received', { 
     value: 1 
    }); 
    }); 
}); 

http.listen(3000, function() { 
    console.log('listening on *:3000'); 
}); 
+1

"$(#pause)"は、値pauseのIDを探しています。あなたのボタンにid = "pause"を追加してみてください=) – Hodrobond

答えて

1

$('#pause')pauseのid属性を持つ要素のためのjQueryのセレクタです。現在、id属性がpauseの要素がないため、$('#pause')は現在何も返しません。すべてを行う必要がなり、あなたの一時停止ボタンに属性id='pause'を追加され、あなたの問題を解決するには

、:

<button id='pause' onclick="pauseAd()" type="button" name="pause" value="pause">PAUSE</button>

これはあなたが持つ要素を選択したときにjQueryのボタンを選択する必要がありますidのpause

これが役に立ったと思っています。さらに詳しい説明が必要な場合はお知らせください。

+0

[このplunker]でよく見えます(http://plnkr.co/edit/232nmosF2VJFuwhif2yu?p=preview) –

関連する問題