0
我遇到了這個解決方案來修復我的.on('click')
火災多次的問題。作爲一個新手,我想知道的是,如果這是一個乾淨的方式來解決問題或者只是一個快速/骯髒的修復和如何正確解決它。jQuery off('click')。on('click')dirty-fix or legit?
我可以提供代碼片段,如果真的需要,而是一種普遍的答案就足夠了
編輯: HTML的實現:
<p class="select2-style-button-100-center">
<a href="javascript:void(0);" id="button-detach-profile" class="button linearize chevron-circle-left-icon">detach</a>
</p>
和JS-代碼:
vm.buttonDetachProfile.off('click').click(function(e) {
var assignedProfiles = vm.assignedProfiles.DataTable().rows('.selected').data();
if(assignedProfiles && assignedProfiles.length > 0) {
editProfiles('remove', assignedProfiles);
}
return false;
});
vm.buttonDetachProfile是我的選擇器
是..代碼片段可能是件好事,提供準確的解決方案。但同時你可以在點擊處理程序中捕獲'event'並寫入'event.stopImmediatePropagation()'或者只是'return false;' –
是的,它是有效的,並且是合法的,但事實上,你將一個處理程序分配給多個時間是你應該真正修復的問題 –
這是一個意見問題(對於SO而言是非常重要的)。我的意見:這是一個骯髒的修復。真正的解決方案是確定你爲什麼試圖附加處理程序不止一次並修復*。*。 –