首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复下载- Cordova/Framework7

重复下载- Cordova/Framework7
EN

Stack Overflow用户
提问于 2017-02-12 19:10:06
回答 2查看 51关注 0票数 0

编辑的:我有一个函数来下载文件,还有一个事件可以监听,点击开始这个下载

事件:

代码语言:javascript
复制
$$('button').on('click', function() {                                   
    var media = $$(this).attr('data-url');              
    Download(media);
    }
});

“下载”是一个延迟完成的功能.当它运行时,如果我单击其他按钮来获取它的值,则"media“var将得到第一个按钮的值,该按钮是在”下载“函数中处理的。

我是怎么修好的?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-14 20:47:58

我就是这样解决的:

我的页面有几个按钮,我认为它引起了冲突。因此,我创建了一个带有部分链接的“动态类”,并将一个事件链接到它们,而不是按钮。

代码语言:javascript
复制
    //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

所以,我把它作为html中的一个类:

代码语言:javascript
复制
   //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+'"';

所以,我把它称为一个事件

代码语言:javascript
复制
$$('.'+id_link+'').on('click', function() {                                   
    var media = $$(this).attr('data-url');              
    Download(media);
    }
});

所以我有独特的课要叫。现在,它起作用了:)

票数 1
EN

Stack Overflow用户

发布于 2017-02-14 10:08:28

我以前对你也有同样的意见。然后我解决了他们。

尝试将.off('click')放在.on('click')之前,它将解决您的问题。

所以看起来会是:

代码语言:javascript
复制
$$('button').off('click').on('click', function() {                                   
  var media = $$(this).attr('data-url');              
  Download(media);
});

在函数末尾添加off('click')

代码语言:javascript
复制
$$('button').on('click', function() {                                   
  var media = $$(this).attr('data-url');              
  Download(media);
  $$(this).off('click');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42191978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档