Javascript 如何将jquery加载文件与jquery绑定事件同步
我需要通过jquery向DOM添加一些html,并将一些事件绑定到生成的元素,但我无法同步它,在addEvents函数启动的地方,DOM元素没有创建,因此$(“.login log”)元素还没有在DOM上 我发现: 我正在努力,但不适合我,我的代码,我不知道我是否遗漏了什么:Javascript 如何将jquery加载文件与jquery绑定事件同步,javascript,oop,jquery,jquery-load,Javascript,Oop,Jquery,Jquery Load,我需要通过jquery向DOM添加一些html,并将一些事件绑定到生成的元素,但我无法同步它,在addEvents函数启动的地方,DOM元素没有创建,因此$(“.login log”)元素还没有在DOM上 我发现: 我正在努力,但不适合我,我的代码,我不知道我是否遗漏了什么: var Login = function () { var commons = new Commons(); this.init = function() { stepOne(stepTwo); co
var Login = function ()
{
var commons = new Commons();
this.init = function()
{
stepOne(stepTwo);
commons.init();
}
function stepOne(callback) {
var AsyncDone = function()
{
callback();
}
loadFiles(AsyncDone);
}
function loadFiles(callback)
{
$(".header-container").load("views/header.html");
$(".content-container").load("views/login.html");
callback();
}
function stepTwo() {
addEvents();
}
function addEvents() {
alert("is here");
$(".login-log").bind("click", function() { alert("fuck"); });
}
}
syncronizathion在将header和login.html的DOM元素加载到DOM中之前发出警告“在这里”
我知道这必须很简单,但我找不到解决办法
谢谢你的建议。我的最终选择:
this.init = function()
{
loadHeader(addHeaderEvents);
loadTemplate(addTemplateEvents);
loadFooter(addFooterEvents);
commons.init();
}
function loadHeader(callback) {
$(".header-container").load("views/header.html", function() {
callback();
});
}
function addHeaderEvents() {
}
function loadTemplate(callback) {
$(".content-container").load("views/template_login.html", function() {
callback();
});
}
function addTemplateEvents() {
alert("llega");
$(".login-log").bind("click", function() { alert("done"); });
}
function loadFooter(callback) {
$(".footer-container").load("views/footer.html", function() {
callback();
});
}
function addFooterEvents() {
}
我的最终选择:
this.init = function()
{
loadHeader(addHeaderEvents);
loadTemplate(addTemplateEvents);
loadFooter(addFooterEvents);
commons.init();
}
function loadHeader(callback) {
$(".header-container").load("views/header.html", function() {
callback();
});
}
function addHeaderEvents() {
}
function loadTemplate(callback) {
$(".content-container").load("views/template_login.html", function() {
callback();
});
}
function addTemplateEvents() {
alert("llega");
$(".login-log").bind("click", function() { alert("done"); });
}
function loadFooter(callback) {
$(".footer-container").load("views/footer.html", function() {
callback();
});
}
function addFooterEvents() {
}
什么不起作用?您需要改进这个问题以提出一个特定的问题,请参阅我需要通过jquery向DOM添加一些html,并将一些事件绑定到我生成的元素,但我无法同步它,在addEvents函数启动的地方,DOM元素没有被创建,因此$(“.login log”)元素还没有在DOM上。我认为这里很清楚:syncronizathion会在header和login.html的DOM元素加载到DOM之前发出警报“在这里”。“不要投反对票,在……您的
loadFiles
函数在两次加载发生之前调用回调之前,试着理解这个问题。顺便说一句,那些第一步和第二步是完全不必要的,只需调用loadFiles(addEvents)
什么不起作用?您需要改进这个问题以提出一个特定的问题,请参阅我需要通过jquery向DOM添加一些html,并将一些事件绑定到我生成的元素,但我无法同步它,在addEvents函数启动的地方,DOM元素没有被创建,因此$(“.login log”)元素还没有在DOM上。我认为这里很清楚:syncronizathion会在header和login.html的DOM元素加载到DOM之前发出警报“在这里”。“不要投反对票,在……您的loadFiles
函数在两次加载发生之前调用回调之前,试着理解这个问题。顺便说一句,那些第一步和第二步完全没有必要,只需调用loadFiles(addEvents)