removeEvent(event, id, asis = FALSE)
Either an event type (see below for a list of event types) or
an event ID (the return value from
onclick
or onevent
).
If an event type is provided (eg. "hover"), then all events of this type
attached to the given element will be removed. If an event ID is provided,
then only that specific event will be removed.
See examples for clarification.
The ID of the element/Shiny tag. Must match the ID used in
onclick
or onevent
.
If TRUE
, use the ID as-is even when inside a module
(instead of adding the namespace prefix to the ID).
Any standard mouse or
keyboard events
that are supported by JQuery can be used. The standard list of events that can be used is:
click
, dblclick
, hover
, mousedown
, mouseenter
,
mouseleave
, mousemove
, mouseout
, mouseover
, mouseup
,
keydown
, keypress
, keyup
. You can also use any other non
standard events that your browser supports or with the use of plugins (for
example, there is a mousewheel
plugin that you can use to listen to mousewheel events).
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
useShinyjs(), # Set up shinyjs
p(id = "myel", "Hover over me to see the date, the time, and a random integer"),
actionButton("remove_date", "Remove date hover event"),
actionButton("remove_all", "Remove all hover events")
),
server = function(input, output) {
onevent("hover", "myel", print(format(Sys.time(), "%H:%M:%S")))
onevent("hover", "myel", print(sample(100, 1)), add = TRUE)
date_event_id <- onevent("hover", "myel", print(as.character(Sys.Date())), add = TRUE)
observeEvent(input$remove_all, {
removeEvent("hover", "myel")
})
observeEvent(input$remove_date, {
removeEvent(date_event_id, "myel")
})
}
)
}