Created
October 21, 2014 14:44
-
-
Save ToeJamson/a9e782fb73ca4a247e1b to your computer and use it in GitHub Desktop.
pubnub messenger v2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(document).ready(function () { | |
// Initialize the PubNub API connection. | |
var pubnub = PUBNUB.init({ | |
publish_key: 'PUBNUB PUBLISH KEY HERE', | |
subscribe_key: 'PUBNUB SUBSCRIBE KEY HERE' | |
}); | |
// Grab references for all of our elements. | |
var messageContent = $('#messageContent'), | |
sendMessageButton = $('#sendMessageButton'), | |
messageList = $('#messageList'); | |
// Handles all the messages coming in from pubnub.subscribe. | |
function handleMessage(message) { | |
var messageEl = $("<li class='message'>" | |
+ "<span class='username'>" + message.username + ": </span>" | |
+ message.text | |
+ "</li>"); | |
messageList.append(messageEl); | |
messageList.listview('refresh'); | |
// Scroll to bottom of page | |
$("html, body").animate({ scrollTop: $(document).height() - $(window).height() }, 'slow'); | |
}; | |
// Compose and send a message when the user clicks our send message button. | |
sendMessageButton.click(function (event) { | |
var message = messageContent.val(); | |
if (message != '') { | |
pubnub.publish({ | |
channel: 'chat', | |
message: { | |
username: 'test', | |
text: message | |
} | |
}); | |
messageContent.val(""); | |
} | |
}); | |
// Also send a message when the user hits the enter button in the text area. | |
messageContent.bind('keydown', function (event) { | |
if((event.keyCode || event.charCode) !== 13) return true; | |
sendMessageButton.click(); | |
return false; | |
}); | |
// Subscribe to messages coming in from the channel. | |
pubnub.subscribe({ | |
channel: 'chat', | |
message: handleMessage | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment