我在PhoneGap-NFC插件英特尔XDK功能方面遇到了问题。
function nova_pulseira(cli_nova_id) {
nfc.addTagDiscoveredListener(function (nfcEvent) {
var tag = nfcEvent.tag;
var = TagID nfc.bytesToHexString(tag.id);
if(TagID! == 0) {
nova_pulseira_input(cli_nova_id, TagID);
} else {
myApp.alert( 'error in reading the bracelet.' 'Notice');
}
});
}
发生 nfcEvent 时, nfc.addTagDiscoveredListener 功能用于读取NFC标签。
在第一次阅读时它正常工作,但是当进行第二次读数时, nfc.addTagDiscoveredListener 功能被应用两次,第三次读取,应用3次,依此类推。
我找到的唯一方法是停止"此函数使用 location.reload(); 但他返回到应用程序主页,理想情况是激活子页面。
不知怎的,我会在应用 nova_pulseira_input(cli_nova_id,TagID); 功能后禁用 nfc.addTagDiscoveredListener 功能。
PS:我已经用过了
- >返回false;
- > $ .each(Nfc,function(){this.reset();});
- > Intel.xdk.cache.clearAllCookies();
- > $ .ajaxSetup({Cache:false});
感谢所有人的帮助...
答案 0 :(得分:0)
将函数放在var中并稍后重新定义:
var tagHandler = function () {
handlerOk();
};
function handlerOk () {
console.log("handlerOk()");
tagHandler = function() {
console.log("disabled..")
};
}
function tag() {
console.log("tag()");
tagHandler();
}
tag();
tag();