Javascript JQuery-访问外部对象
我有一个带有2个方法的DataTable对象。其中一个(Javascript JQuery-访问外部对象,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个带有2个方法的DataTable对象。其中一个(createdRow)包含调用另一个(getFieldType)的回调 在keydown事件中,我想从createdRow调用getFieldType。 我试图使用self引用DataTable对象,但引用失败: 未捕获类型错误:self.getFieldType不是函数 因此,如何调用getFieldType 我的问题不是重复的 因为在我的例子中,控件进入keydown回调,而不触及其余的代码。你能这样做吗?不管怎样,它都不会起作用。您尝
createdRow
)包含调用另一个(getFieldType
)的回调
在keydown
事件中,我想从createdRow
调用getFieldType
。
我试图使用self
引用DataTable对象,但引用失败:
未捕获类型错误:self.getFieldType不是函数
因此,如何调用getFieldType
我的问题不是重复的
因为在我的例子中,控件进入
keydown
回调,而不触及其余的代码。你能这样做吗?不管怎样,它都不会起作用。您尝试的是访问dataTables设置上的属性-正确的表示法应该是self.fnSettings().getFieldType()
,但是设置对象将只保存默认值,包括通过传递的选项可以匹配的值,getFieldType
被忽略,从不复制。为什么不让getFieldType
作为createdRow
中的本地函数呢?因为我想避免代码重复。我第二次用其他代码调用它,我没有在这里发布。你能这样做吗?不管怎样,它都不会起作用。您尝试的是访问dataTables设置上的属性-正确的表示法应该是self.fnSettings().getFieldType()
,但是设置对象将只保存默认值,包括通过传递的选项可以匹配的值,getFieldType
被忽略,从不复制。为什么不让getFieldType
作为createdRow
中的本地函数呢?因为我想避免代码重复。我第二次用其他代码调用它,我没有在这里发布。
jsTable = $('#ResolvedTable').DataTable( {
//some other components
getFieldType: function (id) {
//some code
},
createdRow: function (row, data,index) {
var table = $('#ResolvedTable').DataTable();
var datatext = table.$('input, text');
var self = this;
//for each input text in the table perform the events
$(datatext).each(function() {
var field;
//listen for the enter key
$(this).keydown(function (e) {
field = self.getFieldType($(this).attr('id'));
handleInputKeyDown(e.keyCode,$(this).val(), field, $(this));
});
});
}
)}