以下函数设置以下错误:“未捕获的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;
}
});
答案 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()
可能会导致问题