我有以下代码,使用jquery在从URL加载页面后动态更新页面
$(document).ready(function() {
var htmlattri="background-color:red;";
$("body").attr("style", htmlattri);
$("#navbar").append('<div id="test" style="position: absolute; left: 0px; top: 0px; z-index: 3000; height: 20px"><input type="button" value="Back" onclick="window.history.go(-1)" /></div>')
});
我遇到的问题是#navbar元素是通过ajax(非JQuery)构建的,它在$(document).ready
被触发后发生。
有一种方法可以在页面完全构建后触发它吗?
我无法控制页面源代码。
答案 0 :(得分:0)
在构建success
之后,将您尝试执行的任何代码放在ajax调用的#navbar
回调中。您无法“移动”$(document).ready()
调用,它将始终在创建dom时执行
答案 1 :(得分:0)
$ .Event怎么样?
$('body').on('wearedone', function(){
console.log('hello!');
});
$(document).ready(function() {
var htmlattri="background-color:red;";
$("body").attr("style", htmlattri);
$("#navbar").append('<div id="test" style="position: absolute; left: 0px; top: 0px; z-index: 3000; height: 20px"><input type="button" value="Back" onclick="window.history.go(-1)" /></div>');
// this is where we "reimplement" $(document).ready
$('body').trigger($.Event('wearedone'));
});