【发布时间】:2012-06-25 12:43:02
【问题描述】:
当某些事件发生时,我试图通过对象的名称调用对象的方法 - 这是我的代码:
var imageObject = {
sendImage : function(obj) {
"use strict";
var thisId = obj.attr('id');
var thisSubmit = obj.attr('data-submit');
var thisCallback = obj.attr('data-callback');
var thisUrl = $('#' + obj.attr('data-url')).text();
new AjaxUpload(thisId, {
action: thisUrl,
name: 'thisfile',
onSubmit: imageObject.thisSubmit,
onComplete: imageObject.thisCallback
});
}
}
我也想将参数传递给提交和回调方法。
目前什么都没有发生,我确定我说的不对 - 谁能解释一下如何实现这一点?
我还使用以下提交和完成:
onSubmit: function(file, extension) {
imageObject.thisSubmit(file, extension);
},
onComplete: function(file, response) {
imageObject.thisCallback(file, response);
}
但我得到的是错误提示:
imageObject.thisSubmit is not a function
属性仅存储对象内方法的名称(字符串) - 例如“uploadImage”。
【问题讨论】:
-
data-submit的值是函数还是字符串? -
@Alnitak
.attr返回一个没有任何处理的字符串:P -
@Esailija 是的,我读的是
.data(),它可以返回任何东西。 -
请不要再发送任何近距离投票 - 这个问题存在细微差别,因此不会重复!
标签: javascript object methods