Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML用户界面是否受Javascript加载限制?_Javascript_Jquery_Html_R_Shiny - Fatal编程技术网

HTML用户界面是否受Javascript加载限制?

HTML用户界面是否受Javascript加载限制?,javascript,jquery,html,r,shiny,Javascript,Jquery,Html,R,Shiny,我正在使用R3.0.1和shinny0.7.0创建一个带有htmlui的闪亮网页 似乎我偶然发现了关于body元素的OnLoad()事件的限制或bug 正如Joe Cheng所说,由于Shiny不适合多个HTML页面,因此我尝试在必要时使用jQuery来显示和隐藏divs 除了在OnLoad事件中隐藏div之外,这项功能运行得相当好。在这种情况下,发光的似乎不再检测到无功输入组件 在下面,您可以看到这方面的测试用例: Server.R library(shiny) shinyServer(fu

我正在使用
R
3.0.1和
shinny
0.7.0创建一个带有
htmlui
的闪亮网页

似乎我偶然发现了关于
body
元素的
OnLoad()
事件的限制或bug

正如Joe Cheng所说,由于Shiny不适合多个HTML页面,因此我尝试在必要时使用
jQuery
来显示和隐藏
divs

除了在OnLoad事件中隐藏div之外,这项功能运行得相当好。在这种情况下,
发光的
似乎不再检测到
无功输入组件

在下面,您可以看到这方面的测试用例:

Server.R

library(shiny)

shinyServer(function(input, output) {

    output$caption <- renderText({input$myInput})

})
如果按原样使用此代码,则会对
myInput
组件中的更改做出反应,并将其写入
标题
组件。另一方面,如果您在
initForm()
中注释掉代码,它将停止响应您写入
myInput
的任何内容

我用Firefox23.0.1测试了这个

有人知道我做错了什么吗?

请看温斯顿的这篇文章

你可以写

shinyServer(function(input, output) {
  output$caption <- renderText({input$myInput})
  outputOptions(output, 'caption', suspendWhenHidden=FALSE)
})
shinyServer(功能(输入、输出){

输出$caption+1,解决了问题,尽管我仍然在问自己为什么只有在调用
OnLoad
事件时才会发生这种情况。如果我不调用它并简单地隐藏并再次显示元素
Shiny
仍然会对nput作出反应。我同意。我希望你不介意,但我已将此问题复制到位于的Shiny邮件列表中。这是完整的很好。我会不时检查你在闪亮邮件列表中的帖子,看看他们是否有回复。:-)FWIW,在谷歌论坛上,@YihueXie建议了另一种解决问题的方法,在隐藏或显示
div
元素后触发
hidden
show
事件。
function showFoo(){
    $('#foodiv').show();    
    $('#bardiv').hide(); 
}


function showBar(){
    $('#foodiv').hide();
    $('#bardiv').show();    
}


function initForm(){
    /*showFoo();    */
}
shinyServer(function(input, output) {
  output$caption <- renderText({input$myInput})
  outputOptions(output, 'caption', suspendWhenHidden=FALSE)
})