2014-10-30 4 views
0

Я использую JNotify-plugin для отображения уведомлений на моем сайте. Я хорошо работаю, но мне нужно использовать функцию click для запуска некоторых событий.JQuery - JNotify - проблема с функцией нажатия

Basiclly что случается:

Когда я получаю новый чат-сообщение мой JNotify-функция Триггеры и уведомление-ДИВ показывает вверх. Затем, когда я нажимаю на этот div, я хочу запустить другой fuction (функция show showNewMsg-click). Но это не сработает. Если я использую любой другой div для запуска функции # showNewMsg-click, все работает нормально. Но не при нажатии на JNotify rendered div. Итак, как это сделать?

Вот моя попытка ...

JNotify-фикцию:

var newMessage; 
     $(function() { 
      newMessage = function() { 
       jSuccess(
        "<div id='showNewMsg'><i class='glyphicon glyphicon-envelope'></i>" + ' New chat msg! Click to read!' + '</div>', 
        { 
         autoHide: false, 
         HideTimeEffect: 500, 
         LongTrip: 20, 
         ColorOverlay: '#000', 
         HorizontalPosition: "center", 
         VerticalPosition: "bottom", 
         ShowOverlay: false, 
         OpacityOverlay: 0.5, 
         MinWidth: 350 
        }); 
      } 
      newMessage(); 
     }); 

Click-Funtion, чтобы вызвать некоторые другие события щелчка:

$("#showNewMsg").click(function() { 

     $("#chat-toggle").click(); 

     $('a[href="#room1"]').click(); 
    }); 

JNotify GitHub

ответ

0

Ответы мой собственный вопрос, в случае, если кто-то еще задается вопросом.

Нашел ответ, немного почитав документацию JNotify.

Добавляя onClosed-часть, вместо того, чтобы пытаться сделать отдельную функцию с событиями click-events, теперь все работает отлично.

onClosed пожары, когда уведомление div закрыто.

var newMessage; 
     $(function() { 
      newMessage = function() { 
       jSuccess(
        "<div id='showNewMsg'><i class='glyphicon glyphicon-envelope'></i>" + ' New chat msg! Click to read!' + '</div>', 
        { 
         autoHide: false, 
         HideTimeEffect: 500, 
         LongTrip: 20, 
         ColorOverlay: '#000', 
         HorizontalPosition: "center", 
         VerticalPosition: "bottom", 
         ShowOverlay: false, 
         OpacityOverlay: 0.5, 
         MinWidth: 350, 
         //THIS PART BELOW 
         onClosed: function() { 
          $("#chat-toggle").click(); 

          $('a[href="#room1"]').click(); 
         }, 
        }); 
      } 
      newMessage(); 
     }); 
0

Поскольку уведомление DIV динамически вставляется в DOM, оно никогда не привязано к тому, что вы настроили. Попробуйте привязать клик в функции onCompleted jNotify. Эта функция запускается после того, как элемент вставлен, чтобы вы могли работать с ней.

jSuccess(
    "<div id='showNewMsg'><i class='glyphicon glyphicon-envelope'></i>" + ' New chat msg! Click to read!' + '</div>', 
    { 
    autoHide: false, 
    HideTimeEffect: 500, 
    LongTrip: 20, 
    ColorOverlay: '#000', 
    HorizontalPosition: "center", 
    VerticalPosition: "bottom", 
    ShowOverlay: false, 
    OpacityOverlay: 0.5, 
    MinWidth: 350, 
    onCompleted : function() { 
     $("#showNewMsg").click(function() { 
     alert('You clicked on the notification!'); 
     }); 
    } 
    } 
); 

jsFiddle here.

Смежные вопросы