编辑的:我有一个函数来下载文件,还有一个事件可以监听,点击开始这个下载
事件:
$$('button').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
}
});“下载”是一个延迟完成的功能.当它运行时,如果我单击其他按钮来获取它的值,则"media“var将得到第一个按钮的值,该按钮是在”下载“函数中处理的。
我是怎么修好的?
谢谢
发布于 2017-02-14 20:47:58
我就是这样解决的:
我的页面有几个按钮,我认为它引起了冲突。因此,我创建了一个带有部分链接的“动态类”,并将一个事件链接到它们,而不是按钮。
//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中的一个类:
//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);
}
});所以我有独特的课要叫。现在,它起作用了:)
发布于 2017-02-14 10:08:28
我以前对你也有同样的意见。然后我解决了他们。
尝试将.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');
});https://stackoverflow.com/questions/42191978
复制相似问题