uncaught typeerror undefined不是javascript中的函数

时间:2014-11-06 17:06:16

标签: javascript function undefined mootools

以下函数设置以下错误:“未捕获的typeerror未定义不是函数javascript”之前工作正常,现在失败=(Helpme please!

$('longitud-grados').addEvent('change', function(event){
        var lg = $('longitud-grados').value;
        var lm = $('longitud-minutos').value;
        var ls = $('longitud-segundos').value;

        if((lg > 117) || (lg < 86)) $('longitud-grados').value = '';

        if(lg != '' && lm != '' && ls != ''){
            c = new Coordenada();
            l = c.gms2dec(lg, lm, ls, 'w');
            $('longitud').value = l.decimal;
        }
    });

1 个答案:

答案 0 :(得分:3)

这是因为$未定义。我查看了你的网页

> $('longitud-grados').
Uncaught SyntaxError: Unexpected token } VM1196:732
> $('longitud-grados')
Uncaught TypeError: undefined is not a function VM1555:2
> $
undefined
> MooTools
Object {version: "1.4.5", build: "ab8ea8824dc3b24b6666867a2c4ed58ebb762cf0", More: Object, lang: Object}
> document.id
function (D,F,E){if(D&&D.$family&&D.uniqueNumber){return D;}var l=typeOf(D);return(e[l])?e[l](D,F,E||document):null;} 

因此,无论出于何种原因,您的$都未定义 - 要么$ = document.id;要么更改您的脚本以使用document.id('longitud-grados');

你也可以使用围绕该代码的闭包模式,如

(function($){
    ...
    $('someid'); // will work
}(document.id));

请记住,页面上也有jQuery,如果jQuery脚本没有使用$ = document.id模式,.noConflict()可能会导致问题