[英]Click event not working properly
我的點擊事件有問題:
我有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');
});
嘗試使用JQuery trigger()
$$('.download-all').on('click', function() {
$$("button[data-step='download']").trigger("click");
});
如果不是,請嘗試刪除雙美元符號並使用單美元符號。
如果有用,請投票並標記解決方案。
謝謝!
由於頁面加載順序,僅第一個按鈕被觸發。 php在html / javascript之前執行。 因為發生這種情況,所以事件處理程序找不到具有指定ID或類的按鈕。 避免這種情況的一種方法是將事件偵聽器委托給包含動態創建的按鈕的區域。 例如,
$('#myId').delegate('button','click',function() {
//do something
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.