我承认我并非非常知道自己在做什么。但是我试图以OO的方式使用JS。
我有一个输入数据的表单字段。在右侧,我有一个"预览"特价优惠的样子。
当我在输入字段中添加文本时,我希望它在预览中显示。
我尝试使用以下代码,但我没有成功。我认为我在这里缺少一些基本的知识/理解。
mirrorText: function(){
var self = this;
$('#title').keyup(function(){
self.previewObject.title.text($(this).val());
});
},
previewObject: {
img: null,
title: null,
dateRange: null,
address: null,
init: function(){
self.img = $('.offer-container .promo-img');
self.title = $('.offer-container h3');
self.dateRange = $('.offer-container .valid-through');
}
}
See the full code here(jsfiddle)。
答案 0 :(得分:3)
你不能在P
(段落)中包含DIV,因此找不到元素。我将其更改为另一个div
作为示例。
您还在一个我认为应该 this (在init中)的地方引用了self
。
JSFiddle:http://jsfiddle.net/TrueBlueAussie/w0nn5Ls9/6/
Promo = {
init: function(){
var self = this;
self.previewObject.init();
self.mirrorText();
},
mirrorText: function(){
var self = this;
$('#title').keyup(function(){
self.previewObject.title.html($(this).val());
});
},
previewObject: {
img: null,
title: null,
dateRange: null,
address: null,
init: function(){
this.img = $('.offer-container .promo-img');
this.title = $('.offer-container h3');
this.dateRange = $('.offer-container .valid-through');
}
}
}
Promo.init();