我有一个rails应用程序,如果用户没有登录,我将重定向到一个页面,其中有一个带有类的br标签。喜欢这个
<br class="logged">
在准备该功能的Javascript中,我按如下方式触发模态。
$(document).ready(function(){
$('.logged').ready(function(){
$('#open-login').click();
});
});
这很好用,除了这个模态在应用的每个页面都被触发。我的意思是br标签只存在于应用程序的页面中,每个页面的准备是我不理解的。如果有人能说出我的方法出了什么问题,那将会有很大的帮助。
ps:它的铁路应用
答案 0 :(得分:1)
你可以试试这个:
$(document).ready(function(){
if ($('.logged').length > 0)
$('#open-login').click();
}
});
在if条件中,您可以声明特定页面的元素,并且只在该页面中您可以执行操作。
答案 1 :(得分:1)
jQuery .ready()
方法只能在与当前文档匹配的jQuery对象上调用。将它附加到$('.logged')
选择器仍然会在文档准备好时调用其处理函数 - 它不关心选择器。
MarcoSantino's answer可以满足您的需求,但您可能会发现将logged-in
类添加到body标记而不是插入新的br标记更清晰,然后在JavaScript中使用以下内容:
$(document).ready(function(){
if ($(body).hasClass('logged-in')) {
$('#open-login').click();
}
})