作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何在 Jquery 对象存在之前对其进行声明。
我解释一下我的问题:
我正在使用 jQuery 构建一个应用程序,并且我按照 jQuery 文档中解释的方式组织我的代码:https://learn.jquery.com/code-organization/concepts/
我写过类似这样的代码:
var foo = {
init : function(){
foo.config = {
element : $('.myDiv')
}
}
};
var bar = {
fooBar : function(){
$(someData).each(function(){
$('.anotherDiv').append("<div class='myDiv'></div>");
});
foo.config.element.click(function(){
alert('It doesn\'t works for me');
});
}
}
$(function(){
foo.init();
bar.fooBar();
});
因此,当我单击 div 时,不会显示警报。我知道 delegate() 或 on() 方法的存在,但它们都不起作用。
我认为这是因为当页面加载时对象还不存在。
我的假设是否可行?
最佳答案
如果它还不存在,您需要使用 .on
- 遵循您上面的设计并假设页面加载时存在一些容器:
foo.config = {
//element : $('.myDiv'),
element: ".myDiv",
container: $("body")
}
处理程序:
foo.config.container.on("click", foo.config.element, function(){
});
关于javascript - 如何在 Jquery 对象存在之前声明它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33038991/
我是一名优秀的程序员,十分优秀!