Rails如何检测是不是使用javascript / jQuery插入了部分
Posted
技术标签:
【中文标题】Rails如何检测是不是使用javascript / jQuery插入了部分【英文标题】:Rails how to detect if a partial was inserted using javascript/jQueryRails如何检测是否使用javascript / jQuery插入了部分 【发布时间】:2012-10-07 22:04:49 【问题描述】:如何在 javascript 中检测当前是否正在显示部分内容?
所以使用半伪代码并尝试尽可能简单化以传达我的意图,
在我的控制器中,我有:
def index
if (request.xhr?)//coming from pagination ajax request
@sessions = Session.paginate(.......)
if @sessions.empty?
render: partial => 'nomoresessions'
else
render: partial => 'sessions'
end
else//standard request to display
@sessions = Session.paginate(.....)
end
end
在我的 javascript 中:
function doCheck()
var canContinuePaginating = true;
if (nomoresessions partial was inserted)//<--- This is what I need to figure out
canContinuePaginating = false;
if (canContinuePaginating)
//do stuff
如果有人想知道我为什么需要这个,我将通过部分将行附加到表格的底部,并在用户滚动时使用分页,一旦我到达底部,我想附加某种视觉指示器通过 nomoresessions 部分表明我们位于列表的底部。然后,如果用户继续尝试滚动,我想通过 javascript 检测 nomoresessions 部分当前正在显示,因此不再尝试分页。
【问题讨论】:
【参考方案1】:我能想到的一种简单方法是,您可能希望在“nomoresessions”部分中添加一些类或 id,例如
<li class="end-of-list">
<img src="end.png" />
</li>
然后在你的doCheck
你可以这样做:
function doCheck()
var canContinuePaginating = true;
if ($('ul.content .end-of-list').length)
canContinuePaginating = false;
【讨论】:
这对我不起作用。不知道为什么。部分正在插入和显示。我不断收到 $('ul.content .end-of-list').length = 0以上是关于Rails如何检测是不是使用javascript / jQuery插入了部分的主要内容,如果未能解决你的问题,请参考以下文章
如何在客户端使用 JavaScript 来检测页面是不是已加密?
如何使用 JavaScript 检测文档中是不是存在 HTML5 有效的文档类型?
使用 JavaScript,如何检测访问者的设备上是不是存在三星 Galaxy 商店