ready函数在每个页面中触发
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();
}
});
在if条件中,您可以声明特定页面的元素,并且只能在该页面中执行操作。
.ready()
方法只能在与当前文档匹配的jQuery对象上调用。将它附加到$('.logged')
选择器仍然会在文档准备好时调用它的处理程序函数——它不关心选择器。
MarcoSantino的答案将满足您的需求,尽管您可能会发现将logged-in
类添加到body标记中而不是插入新的br标记,然后在JavaScript中使用以下内容更简单:
$(document).ready(function(){
if ($(body).hasClass('logged-in')) {
$('#open-login').click();
}
})
相关文章:
- jQuery加载的async和ready函数不工作
- 如何通过documents.ready函数中的javascript自动按键(ctrl+shift+i)
- 停止对document.ready函数的重定向/刷新
- ready函数在每个页面中触发
- 函数从$(document).ready外部调用在$(document).ready中定义的函数
- 如果没有document.ready(),我怎么能拥有多个javascript函数呢
- 重载像$(document).ready这样的函数是错误的
- $(document)中的多个javascript函数.ready不工作
- JavaScript执行从函数声明开始,而不是从$(document).ready()开始
- 编写没有加载和.ready函数的JavaScript
- 在 $( 文档 ).ready 函数中使用字符串名称调用 javascript 函数
- 调用 Document.ready 外部的 AJAX 函数
- 在CrossRider内部创建的全局变量's的appAPI.ready()函数对页面不可用
- jQuery的事件处理程序运行良好,但应该't,因为它's不在ready()函数中
- 函数在例如$(document).ready()上注册时的通知
- 如何在document.ready(function)时运行隐藏函数和动画
- 超越了在document.ready()中编写简单函数
- Javascript on click事件在函数中不起作用,但在document.ready()中起作用
- 为什么document.ready中的事件处理程序函数有效但无效;取出后不起作用
- 如何调用函数ready()中的函数