以下td在第一页加载时由javascript更新,以便结果如下(即所有工作)。 但是,当调用分页链接时,不会调用文档就绪。因此,日期不重写。 我尝试了各种各样的东西,但没有缝合,以使其工作。在页面重写时,属性在服务器端更新。 没有ajax调用,分页链接只是一个简单的url重新加载同一页面,但查询路径已更改。我理解重装行为是正常的 - 我只是无法解决它。
任何想法请在后续加载时调用我的初始化调用?
<td class="date" data-time="1499543100110"></td>
$(document).ready(function () {
initialise();
});
function initialise() {
$(".date").each(function(){
var millisec = parseInt($(this).attr("data-time"));
var ts = moment(new Date(millisec)).format("MMMM Do YYYY, h:mm:ss a");
$(this).text(ts);
});
}
<a href="?page=6&size=20&criteria=" data-ajax-load="#ajaxload">7</a>
输出
<td class="date" data-time="1499543100110">July 8th 2017, 8:45:00 pm</td>
更新
如下所述,问题还有很多。正在捕捉分页链接&amp;该请求是由ajax发出的,绕过所有正常的js钩子。我删除了下面的捕获&amp;每件事都按预期工作。网络网址流量看起来像是直接页面加载,但实际上是一个ajax调用。
$(document).on('click', 'a[data-ajax-load]', function(event) {
var _url = $(event.target).attr('href');
var _target = $(event.target).data('ajax-load');
$(_target).load(_Url + ' ' + _target,
function(response, status, xhr) {
// display errors etc
}
);
return false;
});
下面的答案都可能是正确的,但不需要探索它们 - 感谢您的指导。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以尝试使用&#39; onload&#39;在你的身体标签上如下:
<body onload="myFunction()">
//Code
</body>
这样做是等待标记(在本例中为<body>
标记)在执行函数之前完全加载(在这种情况下为myFunction()
。)
您编辑的代码应该类似于以下内容:
<body onload="initialise()">
<td class="date" data-time="1499543100110"></td>
function initialise() {
$(".date").each(function(){
var millisec = parseInt($(this).attr("data-time"));
var ts = moment(new Date(millisec)).format("MMMM Do YYYY, h:mm:ss
a");
$(this).text(ts);
});
}
<a href="?page=6&size=20&criteria=" data-ajax load="#ajaxload">7</a>
</body>
编辑:经过一些在线研究,我发现了这个:
您也可以使用JavaScript body.onload()函数来激发类似的效果,如下所示:
body.onload(initialise);
我不是jQuery的专家,但是看看你的代码,我认为你也可以这样做,虽然我不确定:
$(body).onload(function () {
initialise();
});