【问题标题】:Problems with jQuery in a PhoneGap appPhoneGap 应用程序中的 jQuery 问题
【发布时间】:2012-05-09 07:39:54
【问题描述】:

似乎无法包含它。我正在使用这个:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

然后有了这个:

<script type="text/javascript">

function initialize(){

 $(document).ready(function() {
   $("a").click(function() {
     alert("Hello world!");
   });
 });

}

</script>

....

<body onload="initialize()">
<a href="">Link</a>
</body>

但是当我点击链接时,什么也没有发生。我无法知道 jQuery 是否正确包含。我对 jQuery 完全陌生,所以就我所知,我在这里犯了一个明显的错误,但它直接来自 jQuery 初学者指南,所以我认为它至少很接近。有人吗?

【问题讨论】:

    标签: javascript jquery cordova mobile-application


    【解决方案1】:

    您可以删除该功能。没用。

    $(function(){
        $("a").click(function(){
            alert("Hello world!");
        });
    });
    

    PS:您的工作代码:http://jsfiddle.net/DerekL/h4dmF/

    【讨论】:

    • 好吧,你至少是半正确的。当我将 jQuery 放在一个单独的脚本中时它起作用了(初始化也一直在做其他事情,与 jQuery 无关;它们无关紧要,所以我不在这里展示它们,但这就是我拥有它的原因)。但现在我想了解为什么这会有所作为。初始化称为 onload。那么不应该在加载时正确设置该事件触发器以等待点击吗?
    • @Aerovistae - 实际上,你甚至不应该有这个onload="initialize()",而initialize() 应该放在$(document) 中。
    • 如果我不能使用 onload,如何设置它以发生 onload?
    • 当你使用$(document).ready(简写形式:$())时,它会在加载DOM时自动运行。仔细看,在initialize 函数后面有一个()。 ((function initialize(){blah})()) 实际上,如果它不再被调用,您可以删除initialize 并留下(function(){})()
    • 没错。非常感谢您的扩展帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 2015-03-10
    • 1970-01-01
    相关资源
    最近更新 更多