Новый 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:
нажата кнопка очистки: