重复下载 - Cordova/Framework7
Duplicated downloads - Cordova/Framework7
已编辑:
我有一个下载文件的功能和一个事件来监听开始下载的点击
事件:
$$('button').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
}
});
"Download" 是一个延迟完成的函数......在它运行时,如果我点击其他按钮来获取它的值,"media" var 将获得第一个的值按钮 - 正在 "Download" 函数
中处理
我该如何解决?
谢谢
我以前也遇到过和你一样的问题。然后我解决了。
尝试把.off('click')
放在.on('click')
之前,它会解决你的问题。
所以它看起来像:
$$('button').off('click').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
});
或
在函数末尾添加 off('click')
。
$$('button').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
$$(this).off('click');
});
我是这样解决的:
我的页面有几个按钮,我认为它们导致了冲突。因此,我创建了一个 "dynamic class",其中包含 link 和 link 的一部分,而不是按钮。
//My file is in this link. The absolute link to my jpg file will be catched in JSON inside here...
var link = 'https://www.myserver1.com/f/wPAU322jT36/';
var id_link_1 = link.substring(28,100); //-> wPAU322jT36/
var id_link = id_link_1.replace('/',''); //-> wPAU322jT36
所以,我把它作为 class 放在 html 中:
//data-url is my .jpg file catched in JSON in link above
var html = '<button data-url="https://www.myserver1.com/myfie.jpg" class="btn btn-primary btn-lg btn-block '+id_link+'"';
所以,我在事件中调用它
$$('.'+id_link+'').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
}
});
所以我得到了独特的 classes 来调用。现在,它起作用了:)
已编辑: 我有一个下载文件的功能和一个事件来监听开始下载的点击
事件:
$$('button').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
}
});
"Download" 是一个延迟完成的函数......在它运行时,如果我点击其他按钮来获取它的值,"media" var 将获得第一个的值按钮 - 正在 "Download" 函数
中处理我该如何解决?
谢谢
我以前也遇到过和你一样的问题。然后我解决了。
尝试把.off('click')
放在.on('click')
之前,它会解决你的问题。
所以它看起来像:
$$('button').off('click').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
});
或
在函数末尾添加 off('click')
。
$$('button').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
$$(this).off('click');
});
我是这样解决的:
我的页面有几个按钮,我认为它们导致了冲突。因此,我创建了一个 "dynamic class",其中包含 link 和 link 的一部分,而不是按钮。
//My file is in this link. The absolute link to my jpg file will be catched in JSON inside here...
var link = 'https://www.myserver1.com/f/wPAU322jT36/';
var id_link_1 = link.substring(28,100); //-> wPAU322jT36/
var id_link = id_link_1.replace('/',''); //-> wPAU322jT36
所以,我把它作为 class 放在 html 中:
//data-url is my .jpg file catched in JSON in link above
var html = '<button data-url="https://www.myserver1.com/myfie.jpg" class="btn btn-primary btn-lg btn-block '+id_link+'"';
所以,我在事件中调用它
$$('.'+id_link+'').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
}
});
所以我得到了独特的 classes 来调用。现在,它起作用了:)