2012-10-17 56 views
2

我目前正在构建一个基于Sencha Touch 2的移动应用程序。 目前我只是尝试一些实验来了解Sencha的功能。JQuery库不与sencha touch一起使用?

而今天我陷入了一件看起来很奇怪的事情 - 我只想尝试一下,如果我可以为我的应用程序使用jQuery库并使用它的补充。

最奇怪的是我无法得到任何回应,当我正在做一个jQuery的功能。

我已经在我的sencha目录的index.html文件中包含了jquery库和我的脚本,并且我只是做了一个简单的愚蠢的测试脚本,看看它是否工作 - 但是我根本没有得到任何反应即时通讯在浏览器中试用。我可以看到库和脚本是通过萤火虫包含的(正如你可以看到我的jQuery测试只是一个简单的点击事件,应该显示一个div,但它不是)。

我是否很愚蠢 - 或者我错过了什么?

这是我的index.html文件

<!DOCTYPE HTML> 
<html manifest="" lang="en-US"> 
<head> 
<meta charset="UTF-8"> 
<title>scroller</title> 

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 

    $(document).ready(function() { 

     $("#show_me").click(function() { 
      $('#magic').slideDown('slow'); 
     }); 

    }); 

</script> 


<link rel="stylesheet" href="resources/css/sencha-touch.css" type="text/css"> 
<style type="text/css"> 
    /** 
    * Example of an initial loading indicator. 
    * It is recommended to keep this as minimal as possible to provide instant feedback 
    * while other resources are still being loaded for the first time 
    */ 
    html, body { 
     height: 100%; 
     background-color: #1985D0 
    } 

    #appLoadingIndicator { 
     position: absolute; 
     top: 50%; 
     margin-top: -15px; 
     text-align: center; 
     width: 100%; 
     height: 30px; 
     -webkit-animation-name: appLoadingIndicator; 
     -webkit-animation-duration: 0.5s; 
     -webkit-animation-iteration-count: infinite; 
     -webkit-animation-direction: linear; 
    } 

    #appLoadingIndicator > * { 
     background-color: #FFFFFF; 
     display: inline-block; 
     height: 30px; 
     -webkit-border-radius: 15px; 
     margin: 0 5px; 
     width: 30px; 
     opacity: 0.8; 
    } 

    @-webkit-keyframes appLoadingIndicator{ 
     0% { 
      opacity: 0.8 
     } 
     50% { 
      opacity: 0 
     } 
     100% { 
      opacity: 0.8 
     } 
    } 
</style> 
<!-- The line below must be kept intact for Sencha Command to build your application --> 
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=true"></script> 
<!-- script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script---> 
<script id="microloader" type="text/javascript" src="sdk/microloader/development.js"></script> 
<!--<script type="text/javascript" src="app.js"></script>--> 
<script type="text/javascript" src="js/cordova-1.7.0.js"></script> 
<script type="text/javascript" src="js/phonegap_shortcuts.js"></script> 
<script type="text/javascript" src="js/maps.js"></script> 
<script type="text/javascript" src="js/zepto.min.js"></script> 
<script type="text/javascript" src="js/filters.js"></script> 
<script type="text/javascript" src="js/proxy.js"></script> 
<!--<script type="text/javascript" src="js/index.js"></script>--> 
<!-- 
<script type="text/javascript"> 
    document.addEventListener("deviceready", app.mainLaunch, false); 
</script> 
--> 
<script type="text/javascript"> 
    function onDeviceReady() { 
     pictureSource=navigator.camera.PictureSourceType; 
     destinationType=navigator.camera.DestinationType; 
    } 
    function PictureSourceType() {}; 
    PictureSourceType.PHOTO_LIBRARY = 0; 
    PictureSourceType.CAMERA = 1; 
    //var ja = phonegap.shortcuts.getLocation(); 
    //console.log('ja:'+ja); 
    document.addEventListener("deviceready", onDeviceReady, false); 
</script> 
    </head> 
    <body> 
    <div id="appLoadingIndicator"> 
    <div></div> 
    <div></div> 
    <div></div> 
    </div> 
    </body> 
    </html> 
+0

他们应该是兼容的,我认为 - 我真的不明白为什么它是不是真正的工作,因为我正在做这样一个简单的jQuery呼叫 – Fruxelot

+0

我想你最好要帮助你当'与Sencha卡住,而不是试图使它与jQuery一起工作。这两个框架都很重,并且做了几乎相同的事情。 –

+0

也许 - 但有一些小的基本东西,我需要从jQuery库来使这项工作。 – Fruxelot

回答

0

也许你会点击该元素,没有身份证“SHOWME”。这可能是因为您创建的按钮在Sencha中具有id'showme',但实际呈现的HTML包含另一个id。

如果这是真的(当然你可以使用FireBug检查这个),你可能想听按钮上的'tap'事件,而不是使用jQuery绑定到'click'事件。有关文档,请参阅http://docs.sencha.com/touch/2-0/#!/api/Ext.Button-event-tap

可以在Sencha中使用jQuery,但要记住Sencha中的组件不是DOM中元素的直接表示,Sencha中的某些组件在呈现时由几个DOM元素组成。

希望这有助于