如何通过JavaScript添加无限滚动结果的行为
How to add behavior via JavaScript on infinite scroll results?
我已经开发了一个无限滚动的搜索页面(使用jQuery,没有插件),现在我想知道如何在我调用的WS返回的HTML中添加一些行为。我需要通过jQuery选择器添加一些JavaScript,但我一直依赖于
$(document).ready(function(){});
到目前为止,当我将HTML代码附加到页面时,这不会触发。我唯一的想法是在jQuery AJAX调用成功事件后注入JS代码
function injectJS(){
$('.elementA').click(function(){ /* do something */ });
$('.elementB').click(function(){ /* do something */ });
...
$('.elementZ').click(function(){ /* do something */ });
}
$.ajax({
url: "/ajax/v1/path",
type: "post",
data: data,
success: function (data) {
// 1. Add HTML to the page
// 2. Inject JS to DOM objects
injectJS
},
error: function (e) {
console.log('error:'+e);
}
});
这是唯一的解决方案吗?
我不得不说这种方法在我看来相当糟糕,因为它会将代码注入到页面中所有匹配的元素,甚至是那些先前获取的元素。
简短回答:
function injectJS(){
$(document).on('click', '.elementA', function(){ /* do something */ });
// ...
}
长答:
查找
- "JavaScript事件冒泡"和/或
- "JavaScript事件委托"
- jQuery关于
on()
的文档。
相关文章:
- 奇怪的Javascript结果
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- Javascript(jQuery)给了我奇怪的结果
- 如何在使用函数document.write()打印最终结果后,使用Javascript滚动到页面顶部
- 无限滚动在IE中返回多个结果
- jQueryUI 自动完成结果列表在尝试滚动时会弹回顶部
- PHP无限滚动拉取随机结果
- GWT无限滚动,丢弃列表结果的开头
- 用AngularJS搜索Flickr,结果不允许我一直滚动到顶部
- AngularJS ui-utils ui.滚动条不显示结果
- 我需要向下滚动,直到在电子商务网站使用硒webdriver完成搜索结果
- 当我用Javascript向下滚动结果时,我的代码出了什么问题?
- 如何通过JavaScript添加无限滚动结果的行为
- Android Phonegap与jQuery移动-后退按钮的结果滚动到页面的顶部
- 在Backbone.js视图中等待“无限滚动”结果
- 将无限滚动调用的结果附加到AngularJS中默认显示的结果
- 在移动设备上向下滚动到搜索结果页面
- 当滚动到窗口顶部时,加载结果jQuery