我想为 R shiny 构建一个反应输入,它row.name
在悬停时返回表行的。
在 R Shiny 中,表格renderTable
由tableOutput
.
这应该类似于已经为 plotOutput 构建的 clickID 和 hoverID(分别用于单击和悬停)。
我还不太了解 JavaScript 或 jQuery,无法按照这些说明自行构建:
http://rstudio.github.io/shiny/tutorial/#building-inputs
谢谢!
更新:
这是我到目前为止的 jQuery:
$(document).on('hover', '.table-hover tr', function(){
var el = $(this);
$(this).closest("tr").index();
});
var selectRowBinding = new Shiny.InputBinding();
$.extend(selectRowBinding, {
find: function(scope) {
return $(scope).find(".table-hover");
},
getValue: function(el){
return $(el).closest("tr").index();
},
setValue: function(el, value) {
},
subscribe: function(el, callback) {
$(el).on("change.selectRowBinding", function(e) {
callback();
});
},
unsubscribe: function(el) {
$(el).off(".selectRowBinding");
}
});
Shiny.inputBindings.register(selectRowBinding);
但input$selectRowBinding
仍返回 NULL。我很确定我没有正确定义绑定。
我一直在使用这两个资源:
和