我的点击事件有问题:
我有 HTML 格式:
<div class="content-block cards-clipboard">
<a class="download-all">Download All</a>
</div>
还有一个 JS:
var html = '<div class="card demo-card-header-pic data-url='+img+'">'+
'<div style="background-image:url('+thumb+'); background-size: 100%; height: 272px; background-repeat: no-repeat;" valign="bottom" class="card-header color-white no-border">'+html_icone_camera+'</div>'+
'<div class="card-content">'+
'<div class="card-content-inner">'+
'<p class="color-gray">Postado em '+datapub+'</p>'+
'<p>'+legenda+'</p>'+
'</div>'+
'</div>'+
'<div class="card-footer-'+id_link+'">'+
'<button data-url='+img+' data-step="download" data-cod='+id_link+' type="button" class="download-imagem btn btn-primary btn-lg btn-block '+id_link+'"><i class="fa fa-download" aria-hidden="true"></i> Download</button>'+
'</div>'+
'</div>';
$$(html).appendTo('.cards-clipboard');
还有一个触发器:
$$('.download-all').on('click', function() {
$$("button[data-step='download']").click();
});
也就是说:我有一个按钮('.download-all'),单击时会触发通过 append
(var html) 动态生成的其他按钮的单击,这些按钮具有 data-step=download属性。
但是,当我点击 .download-all 按钮时,第一个按钮没有收到点击 - 只有第一个按钮 - 其他按钮收到......
感谢您的帮助
编辑:如果我将 $$("button[data-step='download']").click();
放在控制台中,点击效果很好在所有按钮中....
最佳答案
如果您使用的是 jQuery,请删除 2 个 $ 符号,只使用一个:
$(html).appendTo('.cards-clipboard');
您的事件命令是:
$('.download-all').on('click', function() {
$("button[data-step='download']").trigger('click');
});
关于javascript - 点击事件无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42282881/