我有一个输入字段,当有人开始输入时会生成自动建议.用户无需模糊或点击提交按钮即可显示建议.
当有人停止输入时,我想运行一个功能来跟踪向用户显示哪些产品,以及当前输入字段中的文本字符串.
我添加了一个'input'事件监听器,但我无法正确理解逻辑.
我想doStuff()如果它自上一次输入事件以来已经至少1秒钟.麻烦的是,当用户开始输入时,我的脚本正在触发,因为它基于"更改"事件监听器.
而且我认为必须有一种比我现在做的更合乎逻辑的方式.
另外我担心'输入'事件会影响用户浏览器,因为它在每次击键时运行,也许有更好的方法?
不情愿地在下面显示我的代码块,即使它没有多大意义并且是我较弱的脚本时刻之一,更多地表明我一直在尝试不同的事情.宁愿选择忽略我一直使用的疯狂逻辑的解决方案.
我希望doStuff(e)当用户"停止在输入中输入文本"时,这不是一个确切的定义.用户何时被认为已停止输入?现在我说1秒钟.
不想使用更改事件,因为它错过了许多用户不模糊的事件.
更喜欢纯JS.
var input = document.querySelector('#search_input');
var newinput;
var lastinput;
var diff;
input.addEventListener('input', function(e) {
newinput = new Date();
if(!lastinput) {
lastinput = new Date()
}
diff = newinput - lastinput;
if(diff > 500 && diff < 2000) {
doStuff(e)
}
lastinput = newinput;
}, false);
Run Code Online (Sandbox Code Playgroud) 已经阅读了这两篇文章:
我正在使用 Shiny input$selector,如果用户选择了一个特定的值,我希望我的数据帧与其他情况不同。
这是一个链:
filtered_funnel <- reactive({
lastmonth_funnel %>%
filter(input$channel == "All" | Channel == input$channel) %>%
filter(input$promo == "All" | Promo == input$promo) %>%
## HERE IS WHERE I'M STRUGGLING
{if(input$promo != "none") select(., c("Channel", "Promo", "ShippingDetails", "Checkout", "Transactions"))} %>%
gather(Funnel, Sessions, -Channel, -Promo) %>%
group_by(Channel, Promo, Funnel) %>%
summarise(Sessions = sum(Sessions))
})
Run Code Online (Sandbox Code Playgroud)
如果用户输入不等于“none”,我想选择变量“Channel”、“Promo”、“ShippingDetails”、“Checkout”和“Transactions”。
我尝试了上面问题行的一些变体,但一直出现错误:
当我在管道链中尝试这个时
{if(input$promo != "none") select(., c("Channel", "Promo", "ShippingDetails", "Checkout", "Transactions"))} %>%
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
警告:错误:所有 select() 输入必须解析为整数列位置。以下不做: * c("Channel", "Promo", …
我知道这rm(list = ls())将清除我的工作区.
我有一个数据框x,我想保留,同时从内存中删除其他所有内容.我怎样才能做到这一点?
rm(list = ls(!x)) #???
Run Code Online (Sandbox Code Playgroud) 我想 purrr::map 一个 df 并为每一列生成一个带有分组变量的箱线图。尝试示例:
mtcars |> select(am, gear, carb) |>
map(~ ggplot() +
geom_boxplot(aes(y = .x, fill = factor(mtcars$cyl))) +
labs(title = .y))
Run Code Online (Sandbox Code Playgroud)
结果:
dots_list(..., title = title, subtitle = subtitle, Caption = Caption, 中的错误:...列表包含的元素少于 2 个
期望的结果:
.x将是来自 df 的向量/场_,分配分组变量cyl.y以前曾在这里使用过我如何 purrr::map 3 列 am、gear 和 carb,为每列生成一个按 cyl 分组/分割并使用 hte 本地管道的箱线图?