Rails: Javascript不能在分页对象上工作
Rails: Javascript does not work on paginated objects
我遵循Ryan Bates Railscast #114(修订),并在我的页面上添加了无尽的滚动。Javascript适用于最初的前十个对象(加载站点时加载的前十个对象),但问题是Javascript不适用于滚动时加载的其余对象(分页对象)。
有人知道我怎么解决这个问题吗?
.js(这是一个虚拟的js示例,只是为了说明:前十个对象将有边框,但其余的没有)
$ ->
$(".thumbnail").css "border-width": "2px"
. css
.thumbnail {
border-style: solid;
border-color: #ee2a7c;
border-width: 0px;
}
main_view.html.erb
<div class="container" id="sp">
<%= render 'pages/singlePost' %>
</div>
<div class="row">
<div class="span6 offset3">
<%= will_paginate @posts %>
</div>
</div>
_singlePost.html.erb
<% @posts.each do |p| %>
<div class="row">
<div class="span6 offset3">
<div class="thumbnail">
<%= p.title %>
/*Some other code goes in here*/
</div>
</div>
</div>
<% end %>
main_view.js.erb
$('#sp').append("<%= j render 'pages/singlePost' %>");
<% if @posts.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@posts) %>');
<% else %>
$('.pagination').remove();
<% end %>
控制器。
def lelist
@post = Post.new
@posts = Post.where("DATETIME(created_at) <= DATETIME(?)", Time.now).order("created_at DESC").page(params[:page]).per_page(10)
end
这是因为javascript是加载并在页面加载时执行的,如果javascript执行时元素不存在,它们显然不会受到影响。
我认为你的例子是虚构的,因为你当然不需要,也不应该使用javascript以这种方式应用CSS。
如果您想将事件附加到将来可能存在的元素上,请查看使用.on()
的事件委托。例如:
$('body').on('click', '#some_element', function() {
// ...
});
如果你想做其他事情,把它放在一个函数中,并确保每次加载新数据时都执行该函数。例如:
var doSomeStuffWhenDataLoads = function() {
// do whatever you want to do, apply your CSS or whatever.
}
// do it on page load.
doSomeStuffWhenDataLoads();
// ...
$.ajax({
// ...
success: function() {
// insert your new data to the page
doSomeStuffWhenDataLoads();
}
});
相关文章:
- 读取在具有IE的工作程序中生成的对象URL
- 我怎样才能让jQuery即使在尚未创建的对象上也能工作
- JSON.stringify没有'在更改的对象上无法按预期工作.如何处理
- 如何让我的正则表达式代码在我的dojo cellWidget对象上工作
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- 地图如何在 Ecmascript 6 中使用对象键工作
- 了解 JavaScript 对象实例或工作流
- JavaScript 返回对象未按预期工作
- 如何让、要求和原型协同工作以在 javascript 中制作对象
- 谷歌应用程序脚本-正在尝试使用getUrl.TypeError:在对象工作表中找不到函数getUrl
- 一个对象怎么能像返回自身和另一个对象一样工作
- "键“;jQuery中的对象无法正常工作
- 对象引用的隐式传递是如何工作的
- dojo类对象的工作原理
- app.use(restify.bodyParser())无法工作,因为req对象为空
- 难以理解JavaScript中的基本对象工作
- jquery .after 不对非追加对象工作
- Couchdb _design/doc/_update/push未作为对象工作
- 如何使此CoffeeScript对象工作
- 事件链是如何为多个对象工作的