2015-07-28 47 views
3

我正在使用Cordova/PhoneGap和Onsen UI。我有两个HTML页面。开关(pushpage)按钮工作正常。但使用Javascript不search.htmlJavaScript不工作在ons页面温泉UI的推动页面

在这里工作是我的代码:

  • 的index.html(默认主页)
  • search.html

的index.html

... 
<body> 

<ons-navigator title="Navigator" var="myNavigator"> 
<ons-button 
     onclick="myNavigator.pushPage('search.html', { animation: 'lift' })"> 
     Switch Page 
</ons-button> 
</ons-navigator> 
</body> 

search.h TML

<ons-page> 
<script> 
alert('Testing Javascript'); 
</script> 
</ons-page> 

回答

3

search.html页面是动态插入时myNavigator.pushPage('search.html')被调用。

当以这种方式插入<script>标记时,代码不会执行。

请参阅此问题的详细信息: Can scripts be inserted with innerHTML?

为了执行一些脚本,当一个页面推你可以使用postpush事件:

ons.ready(function() { 
    myNavigator.on('postpush', function() { 
    alert('Hello, world!'); 
    }); 
}); 
2

这将是你更好将所有JavaScript放入js文件中并在单击按钮时调用该函数,例如:

HTML

<body> 
 
    <ons-navigator title="Navigator" var="myNavigator"> 
 
    <ons-button 
 
     onclick="myNavigator.pushPage('search.html', { animation: 'lift' }); callAlert();"> 
 
     Switch Page 
 
    </ons-button> 
 
    </ons-navigator> 
 
</body>

JS

function callAlert() { 
 
    alert('Testing Javascript'); 
 
};

或者,你可以使用ons-navigator活动,如postpush,以更加个性化你的代码,你可以采取一看在th em HERE