javascript函数不起作用

时间:2012-09-29 10:20:07

标签: javascript jquery html

嗨,我有一个名为calc的abject。在这里我有几个功能,包括init。我有三个按钮,我使用jquery附加到div。因此,当用户单击任何按钮时,它将触发输入功能,并且在基于这些条件的一些if else语句之后,它将调用calculatereset和{{1}这三个函数中的其余一个函数。 }。 问题是它不会调用除输入函数之外的其他函数。为什么它的行为如此,以及如何使其发挥作用?

这是我的代码

JS

emailtofriend

这里是 jsfiddle

2 个答案:

答案 0 :(得分:1)

您需要调用这些函数,而不仅仅是选择它们: - )

        if ( button == 'calculate' ) {
            console.log(button);
            calc.calculate();
        //                ^^
        } else if (button == 'reset') {
            console.log(button);
            calc.reset();
        //            ^^
        } else if (button == 'emailtofriend') {
            console.log(button);
            calc.emailtofriend();
        //                    ^^
        }

顺便说一下:使用括号表示法作为成员操作符可以写得更短:

if (button in calc) {
     console.log(button);
     calc[button]();
}

答案 1 :(得分:1)

你应该将parens放在函数名()的末尾,如下所示:

       if ( button == 'calculate' ) {
            console.log(button);
            calc.calculate();
        } else if (button == 'reset') {
            console.log(button);
            calc.reset();
        } else if (button == 'emailtofriend') {
            console.log(button);
            calc.emailtofriend();
        }