隨着@IlyaLuzyanin評論的幫助下
<script type="text/javascript">
$(function() {
var notifications = $.connection.notificationHub;
notifications.client.recieveNotification = function (totalNewMessages) {
$('#NewMessages').text(totalNewMessages);
};
notifications.client.removeNotification = function (totalNewMessages) {
$('.Message').click(function() {
$('#NewMessages').text(totalNewMessages);
});
};
// Start the connection.
$.connection.hub.start(function() {
notifications.server.sendNotifications();
notifications.server.removeNotification(); //This is what i want to run on the click event?? But don't know how to
}).fail(function (e) {
alert(e);
});
});
</script>
感謝我管理通過將hub.start
內
click
處理程序來解決問題
$.connection.hub.start(function() {
notifications.server.sendNotifications();
$('.removemessage').click(function() {
notifications.server.removeNotifications();
})
});
目前尚不清楚你想達到什麼目的,但作爲一個側面提示 - 將你的'click'處理程序從'removeNotification'回調中移出 - 現在每當'Clients.removeNotificatio n'被調用,這不是我想要的。 – 2014-09-02 15:12:35
@IlyaLuzyanin對不起,如果我沒有說清楚。類似於SO發佈評論時通知系統顯示在頂部,當用戶點擊它時,它會消失。這就是我想要實現的 – Izzy 2014-09-02 15:15:32
在你的hub.start回調中添加'click'處理程序,如下所示:'... $('。Message')。click(function(){notifications.server.removeNotification() ;''和'$('#NewMessages')。text'將在client.recieveNotification回調中更新,因爲它現在是這樣嗎? – 2014-09-02 15:19:13