我想转换这个jQuery代码,以便它可以在Intel XDK中使用。
代码:
lastRecord=0;
function loadNews(){
$('#sample').html( 'hello' );
$.get(
"queryNews.php?lastRecord="+lastRecord,
function( data ) {
$('#news_mesgs').append( data )
.listview( 'refresh' );
}
);
}
转换:
<script>
var parameters = new AppMobi.Device.RemoteDataParameters();
parameters.url = "http://i.cs.hku.hk/~hsbashir/Project_Work/Listview/queryNews.php";
parameters.id = "12345";
AppMobi.device.getRemoteDataExt(parameters);
var news = document.getElementById("news_mesgs");
news.addEventListener("appMobi.device.remote.data",getRemoteDataEvent,false);
var getRemoteDataEvent=function(event)
{
if(event.success==false)
{
alert("error obtaining remote data");
}
else
{
alert("success: ");
news.innerHTML += event.response;
}
}
</script>
然而,当我在模拟器中运行我的应用程序时,没有看到警报或任何事情。
答案 0 :(得分:0)
一个问题是您在使用后已经指定了getRemoteDataEvent
,因此当您在news.addEventListener
中使用undefined
时,它就是news.addEventListener(...)
。虽然函数声明在其范围内被“提升”,因此顺序无关紧要,当你通过将它分配给变量来创建一个函数时(顺便说一句好习惯),你需要这样做按照正确的顺序。
尝试将{{1}}行添加到getRemoteDataEvent之后,看看是否会改变。