2016-03-03 109 views
0

我想做一个简单的科尔多瓦应用程序,我试图包括一个按钮事件,因此当用户点击它时,弹出一个警报。不过,目前我没有任何运气。我很确定我已经安装了所有适用于警报的插件,但仍然没有任何结果。 这里是我的js代码:科尔多瓦iOS按钮事件

var app = { 
    // Application Constructor 
    initialize: function() { 
     this.bindEvents(); 
    }, 
    // Bind Event Listeners 
    // 
    // Bind any events that are required on startup. Common events are: 
    // 'load', 'deviceready', 'offline', and 'online'. 
    bindEvents: function() { 

     document.addEventListener('deviceready', this.onDeviceReady, false); 

    }, 
    // deviceready Event Handler 
    // 
    // The scope of 'this' is the event. In order to call the 'receivedEvent' 
    // function, we must explicitly call 'app.receivedEvent(...);' 
    onDeviceReady: function() { 
     app.receivedEvent('deviceready'); 
     window.analytics.startTrackerWithId(''); 
     window.analytics.trackView('Hello World'); 




    }, 
    // Update DOM on a Received Event 
    receivedEvent: function(id) { 
     var parentElement = document.getElementById(id); 
     var listeningElement = parentElement.querySelector('.listening'); 
     var receivedElement = parentElement.querySelector('.received'); 

     listeningElement.setAttribute('style', 'display:none;'); 
     receivedElement.setAttribute('style', 'display:block;'); 

     console.log('Received Event: ' + id); 
    }, 





    }; 

    app.initialize(); 

这里是HTML:

<html> 
    <head> 

     <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 
     <meta name="format-detection" content="telephone=no"> 
     <meta name="msapplication-tap-highlight" content="no"> 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
     <link rel="stylesheet" type="text/css" href="css/index.css"> 
     <title>Hello World</title> 

    </head> 
    <body> 
     <div class="app"> 

      <h1>hello</h1> 

      <div id="deviceready" class="blink"> 
       <p class="event listening">Jump on it</p> 
       <p class="event received">Party on wayne</p> 

      </div> 
      <div> 
       <button id="myBtn" onclick="click()">click</button> 
      </div> 
     </div> 

     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
     <script type="text/javascript"> function click()= {alert("clicked");}</script> 

    </body> 
</html> 

我是令人难以置信的感激,如果有人可以帮助,谢谢。

回答

0

你不称呼你的点击功能,那就是问题所在。一个简单的例子:

<button id="myBtn" onclick="app.click()">Click me</button> 

如果您的应用程序IST会更复杂,你应该在你的JavaScript事件侦听器,那么就没有必要有内嵌的JavaScript。

下一条:如果你打电话给你的跟踪器等外部来源,你需要将这个来源加以白名单。

+0

嗨Joerg,我已经尝试了你的建议。我试过内联和外部的js,都无济于事:(我编辑了这个问题来反映你所建议的改变。 – condog