EDITED : 我有一个下载文件的功能和一个事件来监听启动此下载的点击
事件:
$$('button').on('click', function() {
var media = $$(this).attr('data-url');
Download(media);
}
});
"下载"是一个延迟完成的功能......当它运行时,如果我点击其他按钮来获取其值,那么"媒体" var将获得第一个按钮的值 - 这正在"下载"功能
我如何修复它?
由于
答案 0 :(得分:1)
我这样解决:
我的页面有几个按钮,我认为它导致了冲突。所以,我创建了一个带有部分链接的“动态类”,并将事件链接到它们,而不是按钮。
//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);
}
});
所以我得到了独特的课程。现在,它有效:)
答案 1 :(得分:0)
我之前和你有同样的问题。然后我解决了他们。
尝试将.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');
});