这个视频我们来看一下 notification.confirm ,它跟前面介绍的 notification.alert 差不多,会弹出一个对话框,不同的是,notification.confirm 可以定义多个按钮。
你可以根据用户点击的不同的按钮,去做不同的事。
打开应用的 index.js 这个文件 … 先给 app 这个对象添加一个函数 … 命名为 showConfirm … 先输入一段注释 ...
// 点击 '显示对话框' 按钮显示对话框内容
showConfirm: function(){
},
再去定义这个函数要做的事情 …. 输入 navigator.notification.confirm(); 在它的里面我们需要设置它的参数 … 对话框上的文字,回调函数,也就是点击不同的按钮所做的事情。另外还有两个可选的参数,对话框的标签,还有按钮。
navigator.notification.confirm(
'软件有新版本了',
app.onConfirm,
'软件更新',
['以后再说','立即下载']
);
先定义要显示的文字,把它放在一组引号里面 … '软件有新版本了' … 然后指定它的回调函数 …. app.onConfirm …. app 对象里的 onConfirm … 一会再去定义这个函数 …
第三个参数是对话框的标签 … 如果不指定的话,默认会是 Confirm ,确认 … 这里我们设置成 '软件更新',
最后一个参数是要显示的按钮 … 我们可以为对话框添加多个按钮 … 默认会显示两个按钮 … OK ,确定,还有 Cancel 取消 …
要定义的按钮我们需要放在一个数组里面,数组就是存放一些有顺序的数据的容器。
数组里的数据要放在一组方框号里面 … [] … '以后再说', '立即下载' … 你可以继续去添加想要的按钮 … 两个按钮会并排显示 … 超过两个按钮,按钮会堆叠在一起显示 …
下面再找一个地方去执行这个 showConfirm … 可以把它放在 onDeviceReady 里面 … 也就是一开始运行应用以后,就会立即显示一次这个对话框 ….
app.showConfirm();
onConfirm
下面我们再去定义一下 onConfirm .. 也就是点击不同的按钮要做的事情 ….
// 点击确认对话框以后做的事情
onConfirm: function(buttonIndex) {
},
这个函数里需要一个参数,我们叫它 buttonIndex … 它可以传递按钮的顺序 … 这个按钮的顺序从 1 开始,也就是第一个定义的按钮的顺序值是 1,第二个按钮的顺序的值就是 2 …
在这里,第一个按钮就是 以后再说 … 第二个按钮是 立即下载 …
我们可以使用 if 语句,去判断一下用户点击的按钮,然后根据用户的选择去做一些事情 …
if(buttonIndex === 1){}
这里判断的条件是,如果用户点击了第一个按钮,也就是 以后再说 这个按钮 … 会去执行在后面大括号里的代码。
还是使用 console.log(); 去在控制台上输出一些文字 …. console.log('以后再说');
然后我们再加上一个 else{} … 再这组大括号里,我们可以去定义当用户点击另外一个按钮,也就是 立即下载 这个按钮要做的事 …
同样是在控制台上输出一些文字 …. console.log('立即下载')
保存一下 … 先打开 weinre 调试工具的控制台 …. 再打开终端工具,重新去编译并安装一下这个应用 … phonegap run ios
应用启动以后,会显示我们定义的那个确认的对话框 …
点击 以后再说 …. 你会看到在控制台上,会输出 以后再说 ….
快速按两下 Home 键,可以使用快捷键 shift + command + H … 关掉这个应用 … 下面再重新打开这个应用 ….
这次我们点击 立即下载 这个按钮 …. 在控制台上,会输出 立即下载 ….
这就说明,我们成功的捕获了用户所点击的按钮,并且去执行事先设计好的动作。