【发布时间】:2013-10-25 05:53:26
【问题描述】:
我有以下 javascript 类(真的不知道它是否是最好的解决方案)并且我不想调用在这个类中定义的函数,而不是在同一个类中定义的另一个函数。
step1 = {
init: function(){
this.events();
},
events: function(){
fct = this; // i stored this in a variable so that i don't lose it
$(document).on('click', '.form-line li', function(e) {
e.preventDefault();
fct.changeCategoryValue($(this));
});
$(document).on('click', '.alert-form .confirm', function(e) {
e.preventDefault();
$.fancybox.close(true);
});
},
changeCategoryValue: function(el) {
cat = el.hasClass('has-sub') ? '' : el.data('id');
title = el.hasClass('has-sub') ? '' : el.data('title');
$('#cat-title').val(title);
$("input[name='category']").val(cat);
}
如您所见,我不想调用 changeCategoryValue 函数,但如果我用 this.changeCategoryValue 调用它,它将不起作用。关于如何改进代码的任何建议?
【问题讨论】:
-
我看不出问题出在哪里。是否有错误,或者您正在请求优化?
fct = this和之后的function(){ fct.changeCategoryValue }是典型的。 -
你是对的,没有问题。这就是我要求改进的原因。我不知道,但我实施的解决方案似乎不正确(通常)。
标签: javascript oop this