[英]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.