[英]cant call a javascript function within jquery
我用了两个jqueries库
<script src="/Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui.min.js" type="text/javascript"></script>
我有一个名为onSubmit();
的函数onSubmit();
function onSubmit()
{if ($.trim($("#password").val()) != "") {
$("#Command").val("LOGIN");
}
}
当我尝试使用onSubmit
函数时,Visual Studio中的intelicense可以毫无问题地找到它,但是在运行时我收到undefined onSubmit
错误。 我尝试在这段代码中使用onSubmit
函数:
$(function () {
$("#slider").draggable({
axis: 'x',
containment: 'parent',
drag: function (event, ui) {
if (ui.position.left > 550) {
$("#well").fadeOut();
onSubmit(); //this line get undefined error
} else {
("opacity", 100 - (ui.position.left / 5))
}
},
stop: function (event, ui) {
if (ui.position.left < 551) {
$(this).animate({
left: 0
})
}
}
});
一切之后,我在代码底部声明了onSubmit函数。 我不确定是否会引起问题。
更新:我这样更改了声明:
window.onSubmit()= function() {
if ($.trim($("#password").val()) != "") {
$("#Command").val("LOGIN");
}
}
JavaScript函数在其包含范围内定义。 如果函数定义出现在另一个函数内部,那么它将仅在该函数内部定义,并且无法在其他位置访问。 如果一个函数在任何函数之外定义,那么它将被全局定义,这等效于驻留在window
对象上。
您可以通过直接在window
对象上分配函数来显式地使函数成为全局函数:
window.onSubmit = function() { ... };
注意,在这种情况下,您应该包括结尾的分号,因为赋值是一个表达式。 该函数定义被称为“表达式”,因此该语句必须以分号终止。
如果一个函数是全局定义的,那么无论范围如何,所有代码都可以访问它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.