为Windows Mobile 6.5开发Widget
2011-01-06 10:58:21 来源:WEB开发网核心提示: 首页完成改版,来提意见MenuItem对象有一个给出显示文本的text属性,为Windows Mobile 6.5开发Widget(9),和一个决定菜单项是否可以点击的enabled属性,MenuItem还有一个由Menu.createMenuItem函数指定的只读属性id,onreadystatechange事件
首页完成改版,来提意见
MenuItem对象有一个给出显示文本的text属性,和一个决定菜单项是否可以点击的enabled属性。MenuItem还有一个由Menu.createMenuItem函数指定的只读属性id。菜单项的单击事件会向处理程序传递菜单项的id,所以你可以编写一个通用事件处理程序,用于处理一个以上菜单项的事件。MenuItem也有一个append和一个remove方法用以添加子菜单项。
使用Menu对象的clear、append、remove和setSoftKey方法,以及MenuItem对象的append和remove方法,你可以创建一个复杂的多级菜单。当一个菜单项有子项时,它的单击将打开子菜单,而不是调用你指定的处理程序。
调用AJAX代码
widget代码可以使用XMLHttpRequest对象异步访问网络数据,并且可以使用XML DOM 解析返回的数据。下面是一个请求存储标识并在页面上显示标识值的示例表单。
<div id="divQuote">Quote</div>
<form>
Stock symbol (eg US:MSFT) <input type="text" id="iSymb" />
</form>
下面的onClick是一个菜单项的事件处理函数,用于取回存储引用。
function onClick() {
var xmlhttp = null;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
if (xmlhttp) {
createRequest(xmlhttp, document.getElementById("iSymb").value);
}
}
这个函数创建一个XMLHttpRequest对象并调用createRequest 以传送对象及一个标识名。
function createRequest(xmlhttp, symb) {
var url = "http://blu.services.stub.msn.com/"
+ "StockQuotes.aspx?symbols=" + symb;
xmlhttp.open("GET", url);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
harvestResults(xmlhttp);
delete xmlhttp;
}
};
xmlhttp.send();
}
XMLHttpRequest.open
方法的调用创建了一个异步请求,向MSN存储引用服务传递了存储标识。request对象实际上是在send方法被调用时创建。当请求结果返回时,onreadystatechange事件就会触发。存储引用服务返回一个包含一个或多个存储引用的XML文档,这些数据通过
harvestResults
函数解析。
更多精彩
赞助商链接