2010-12-08 13 views
3

Webイベントに応答すると、以前に実行した(?)通知ボックスが表示されなくなります。そこに行くことを教えてくれるKRLの方法はありますか、それともjavascriptで行う必要がありますか?「通知」ボックスが消えるようにするには

それはjavascriptを介して行わなければならない場合、たとえばに

答えて

3

新シャイニー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") 
     |>; 
    } 
    } 
} 

OLD安っぽいANSWER


あなたはこれを実現することができ、いくつかの方法があります。 set_element_attr

  • replace_inner action通知を削除する(悪)となし
  • 例:

    set_element_attr

    • emit JavaScriptが通知ディスプレイへ
    • 変更スタイル非表示または交換します

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

      EMIT(悪)[削除]

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

      EMIT [非表示]

      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",""); 
          } 
          } 
      } 
      

      例アプリブックマークレット:例で=>http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-clear-notify-dev_bookmarklet.html

      例アプリの実行。COM:

      alt text

      クリアボタンがクリック:

      alt text

    +0

    は、私たちはset_element_attrアクションを持っていたことを知りませんでした! – MEH

    +1

    私は新しい光っている答えが好きです。 :) – TelegramSam

    関連する問題