繁体   English   中英

就绪功能在每个页面中触发

[英]ready function triggers in every page

我有一个Rails应用程序,如果用户未登录,我将重定向到一个页面,该页面带有一个带有类的br标签。 像这样

<br class="logged">

在准备好该功能的Javascript中,我将触发一个模态,如下所示。

$(document).ready(function(){

 $('.logged').ready(function(){
    $('#open-login').click();
 });

});

这工作正常,除了在应用程序的每个页面上触发此模式。 我的意思是br标签仅在应用程序的页面中存在,我不明白如何为每个页面做好准备 如果有人能说出我的方法出了什么问题,那将有很大的帮助。

ps:这是rails应用程序

您可以尝试以下方法:

$(document).ready(function(){

if ($('.logged').length > 0)
    $('#open-login').click();
 }

});

如果条件可以声明特定页面的元素,则只有在该页面中您才能执行操作。

只能在与当前文档匹配的jQuery对象上调用jQuery .ready()方法。 将其附加到$('.logged')选择器后,仍可在文档准备就绪时调用其处理函数-不在乎选择器。

MarcoSantino的答案将满足您的需求,尽管您可能会发现将logged-in类添加到body标记中而不是插入新的br标记,然后在JavaScript中使用以下内容会更干净:

$(document).ready(function(){
  if ($(body).hasClass('logged-in')) {
    $('#open-login').click();
  }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM