未定义函数-jQuery/Javascript
又一个倒霉的家伙。。。 好的,我到处都找了,试图找出如何使用jQuery/JavaScript函数,我希望这只是我语法上的一个错误,但下面是我的代码:未定义函数-jQuery/Javascript,javascript,jquery,Javascript,Jquery,又一个倒霉的家伙。。。 好的,我到处都找了,试图找出如何使用jQuery/JavaScript函数,我希望这只是我语法上的一个错误,但下面是我的代码: <script type="text/javascript"> $(function() { function loadNext(choice) { $("#thequestion").load("question.php", { ans: choice, id: "<?php echo
<script type="text/javascript">
$(function()
{
function loadNext(choice) {
$("#thequestion").load("question.php", { ans: choice, id: "<?php echo $row['id']; ?>", nextId: "<?php echo $nextQuestionId; ?>" } );
$("#graph").load("graph.php", { id:"<?php echo $row['id']; ?>", nextId: "<?php echo $nextQuestionId; ?>" } );
alert("loadNext activated");
}
});
</script>
然后,我使用onclick事件调用loadNextchoice函数,如下所示:
onclick=loadNextYorN
在此之后,我得到一个“loadNext未定义”错误
我愿意接受的答案是:你不学习!你真傻
谢谢。您刚才定义的loadNext函数是匿名函数作用域的本地函数。如果要全局访问它,请在onready处理程序外部全局定义它。因为函数中有函数
(function()
{
function loadNext(choice) {
this is bad
}
function loadNext(choice) {
this is good
}
onclick="loadNext()"
没问题为什么不把loadNext函数放在$function{}之外呢 外部$function。。您在第一行限制了您的范围-loadNext函数仅在该块内可用,并且将在其外部未定义 解决这个问题的简单方法是在$function之外定义loadnext函数。。但这是错误的,原因有两个: 这使得函数在整个应用程序中都是全局的,而污染全局名称空间是不允许的。 像onclick这样的内联javascript通常是不好的——这模糊了表示和逻辑之间的界限,使调试变得很痛苦。 要解决这个问题,请使用jquery绑定事件来附加事件处理程序;i、 e
$myfancybutton,单击函数{loadNextchoice};在您的$function中。。因为loadNext不在全局范围内,所以将其设置为bloc。您可以在全局范围内定义它,或者使用更好的解决方案来绑定您的单击事件。谢谢您的提示!我很感激。