【发布时间】:2011-04-29 08:41:07
【问题描述】:
所以我正在尝试将 javascript 与“简单继承”一起使用(根据 http://ejohn.org/blog/simple-javascript-inheritance/)。为了“简化”事物,我的想法是创建对象并将它们附加到元素上,以便我可以对它们进行操作;
var Pane = Class.extend({
init: function( el ) {
this.el = el; this.$el = $(el);
return this;
},
do_something: function() {
this.$el.html('doing something!');
$.getJSON( '/somewhere.js', function(data){
// write something to $el
});
}
});
我会有一些类似的html
<div id="my_div"></div>
<script>
var p = new Pane( $('#my_div') )
p.do_something()
</script>
不幸的是,在 ajax 调用中,“this”变成了 jquery 对象,而不是我的 Pane 对象,所以我无法更新 $el / my_div (这也让我的想法变得毫无意义)。有什么想法可以在 getJSON 调用中访问对象吗?
【问题讨论】:
-
一定要使用继承吗?也许您必须在某处存储对 var 中调用的每个对象的引用
标签: javascript jquery ajax inheritance