Как сделать так, чтобы окно уведомлений исчезло

Когда я отвечаю на веб-событие, мне бы хотелось, чтобы ранее действовавшее (?) Окно уведомления исчезло. Есть ли способ, чтобы KRL сказать, чтобы это ушло, или это должно быть сделано через JavaScript?

Если это должно быть сделано через JavaScript, приведите пример

1 ответ

Решение

Новый Shiny Awesomer Ответ!

Все мои предыдущие ответы отстой! Что вы действительно должны сделать, это вызвать событие нажатия на кнопку закрытия.

$K(".kGrowl-notification .close").trigger("click");

Просто отправьте этот JavaScript, когда вы отвечаете веб-событием.

Лучший пример приложения:

ruleset a60x469 {
  meta {
    name "better-close-notify-example"
    description <<
      better-close-notify-example
    >>
    author "Mike Grace"
    logging on
  }

  rule put_notify_on_page {
    select when pageview ".*"
    {
      // put notify on page
      notify("Hello","I'm on your page") with sticky = true;

      // raise web event
      emit <|
        setTimeout(function() {
          app = KOBJ.get_application("a60x469");
          app.raise_event("clear_notify");
        }, 2000);
      |>;
    }
  }

  rule clear_notify {
    select when web clear_notify
    {
      emit <|
        $K(".kGrowl-notification .close").trigger("click")
      |>;
    }
  }
}

СТАРЫЙ КРЕПИ ОТВЕТ


Есть несколько способов сделать это.

Примеры:

set_element_attr

set_element_attr(".kGrowl", "style", "display:none");

испустить [удалить] (зло)

emit <|
  $K(".kGrowl").remove();
|>;

испускать [скрывать]

emit <|
  $K(".kGrowl").hide();
|>;

replace_html (зло)

replace_html(".kGrowl","");

Полный пример приложения:

ruleset a60x468 {
  meta {
    name "example-clear-notify"
    description <<
      example-clear-notify
    >>
    author "Mike Grace"
    logging on
  }

  rule put_notify_on_page {
    select when pageview ".*"
    pre {
      button =<<
        <button id="clear-notify">Click me to clear the notify</button>
      >>;
    }
    {
      notify("Hello","I'm on your page") with sticky = true;
      append("body", button);
      emit <|
        $K("#clear-notify").click(function() {
          app = KOBJ.get_application("a60x468");
          app.raise_event("clear_notify");
        });
      |>;
    }
  }

  rule clear_notify {
    select when web clear_notify
    {
      replace_inner(".kGrowl","");
    }
  }
}

Пример приложения bookmarklet: => http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-clear-notify-dev_bookmarklet.html

Пример приложения, запущенного на example.com:

альтернативный текст

кнопка очистки нажата:

альтернативный текст

Другие вопросы по тегам