作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在现有表格的mootools 1.3中制作了一个HtmlTable.Select,尝试了“selectable: true”和“enableSelect”,没有任何效果,如果我尝试访问表格的“getSelected”方法,我会保留得到“.getSelected不是一个函数”,所有其他函数如“selectAll”或“selectNone”都可以完美工作”。
我的代码(来 self 的类(class)内部):
this.options.HTMLTable = new HtmlTable(this.options.table, {
selectable : true
});
// this works perfect ...
this.options.HTMLTable.selectAll();
// ... but this causes the error!
console.log(this.options.HTMLTable.getSelected());
你能帮忙吗?
最佳答案
我不是 mooTools 专家,但如果你检查这个 jsfiddle
您将在 .__proto__
的原型(prototype) ( this.options.HTMLTable
) 中看到这一点方法selectAll
已定义但 getSelected
不是。
这是调试的开始。在 fiddle 中添加一些数据,使其更符合您的问题。
有一个._selectedRows
HTMLTable 上的属性。只需编写您自己的 .getSelected 方法即可完成!
刚刚看了源码和方法getSelected
不存在。这是它应该做的事情
function getSelected() {
return this._selectedRows;
}
将其归档为错误,同时使用
// Bug in HtmlTable. Custom implementation. Remove when using mootools 1.4
HtmlTable = new Class({
Extends: HtmlTable,
getSelected: function() {
return this._selectedRows;
}
});
正如 @DimitarChristoff 建议您最好使用:
if (!HtmlTable.prototype.getSelected) {
HtmlTable.prototype.getSelected = function() {
return this._selectedRows;
};
}
这样,您只需在必要时更改 HtmlTable 的原型(prototype)。您可能需要某种 HtmlTable.Select 是否加载检查。
查看新的fiddle
关于javascript - 不断收到 ".getSelected is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837909/
我是一名优秀的程序员,十分优秀!