我正在尝试创建无限分页。我正在使用ajax向控制器发送最后一个元素的ID。然后,控制器将返回由html标签组成的响应。
当我尝试将其追加到div中时,javascript和css文件不适用于新添加的html标签。我已经在网站上扫描了一些问题,但是找不到针对我问题的任何解决方案。 你能帮忙吗?
脚本:
<script type="text/javascript">
$(document).ready(function() {
var counting = 1;
$(document).on('click', '.pagination-button', function() {
var id = $('.projects:last').data('id');
$.ajax({
url: '/projects/projectloader/',
type: "post",
beforeSend: function() {
if (counting > 0)
$('.ajax-load').show();
$('.mobile-product-loader').hide();
},
data: {
id: id,
},
success: function(data) {
if (data) {
$('.ajax-load').hide();
$(".cbp-wrapper").append(data);
$('.mobile-product-loader').show();
counting++;
console.log(data);
} else if (!data) {
$('.ajax-load').hide();
$('.mobile-product-loader').hide();
console.log('no data');
}
}
});
});
});
</script>
答案 0 :(得分:0)
您也许可以尝试这样的事情:
function loadjscssfile(filename, filetype){
if (filetype=="js"){ //if filename is a external JavaScript file
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", filename)
}
else if (filetype=="css"){ //if filename is an external CSS file
var fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref)
}
loadjscssfile("myscript.js", "js") //dynamically load and add this .js file
loadjscssfile("javascript.php", "js") //dynamically load "javascript.php" as a JavaScript file
loadjscssfile("mystyle.css", "css") ////dynamically load and add this .css file
答案 1 :(得分:0)
如果您需要将事件应用于动态生成的内容,请考虑使用事件委托来重构事件语法(在主要js文件中),例如:
$(document).on("click", '.mylink', function(event) {
alert("new link clicked!");
});
Imho最好的选择是支持动态生成的内容中的事件。