【发布时间】:2014-03-21 19:58:07
【问题描述】:
这是我的 HTML 的 sn-p:
<tr>
<td class="timeHeader" id="timeInOutString"></td>
<td id="timeControlHours"></td>
<td>:</td>
<td id="timeControlMins"></td>
<td onclick="this.TimeChangeView.AcceptTime()">Accept</td>
</tr>
<tr>
<td></td>
<td onclick="this.TimeChangeView.downHours()">
Javascript:
function TimeChangeView(ac) {
this.downHours = function(){
//get element by Id
var value = parseInt(document.getElementById('timeControlHours').innerHTML);
value = isNaN(value) ? 0 : value;
value--;
//add leading zeroes
value = formatHoursMins(value);
document.getElementById('timeControlHours').innerHTML = value;
}
}
错误:
未捕获的类型错误:无法调用未定义的方法“downHours”
我已经在名为 TimeChangeView 的方法中的脚本中定义了它,但它抱怨我没有定义它,为什么?谢谢。
【问题讨论】:
-
您需要了解“this”这个词的工作原理。谷歌有很多关于它的好文章索引并且为你准备好了。
-
问题不在于
downHours。仔细阅读错误信息。 无法调用未定义的方法“downHours”。TimeChangeView有一个名为downHours的方法,但 undefined 没有。this.TimeChangeView返回未定义,因为this是window。 -
当我删除它时,它会抱怨 uncaught TypeError: Object function TimeChangeView(ac)
标签: javascript jquery oop