Просто добавьте что-то примечательное здесь.
myQueue.hpp:
template <class T>
class QueueA {
int size;
...
public:
template <class T> T dequeue() {
// implementation here
}
bool isEmpty();
...
}
myQueue можно определить методы шаблонного класса, которые просто прекрасны в файле реализации. cpp:
// implementation of regular methods goes like this:
template <class T> bool QueueA<T>::isEmpty() {
return this->size == 0;
}
main()
{
QueueA<char> Q;
...
}
Насколько я понимаю вашу проблему, вы можете привязать событие к родительскому элементу, который существует в примере загрузки страницы document
$(document).on('click','.action-complete-task:not(.action-2)',function(){
//...1
})
$(document).on('click','.action-complete-task.action-2',function(){
//...2
})
, таким образом, он должен работать со вставленными вручную элементами (DOM-Manipulation ), а не запускать action1 (как это происходит сейчас, потому что ваш .action-2 также принадлежит .action-complete-task)
Существует много решений для этого, таких как: 1. Добавьте класс action-1
к вашей первой кнопке, чтобы обработчик был
$(".action-complete-task.action-1").on("click", function (event) {})
$(".action-complete-task").on("click", function(e) {
const buttonClass = e.target.attr('class')
if (class.includes('action-2') {
// handle action 2
} else {
// handle action 1
}
})
Это легко сделать.
$(".action-complete-task").on('click', function(event){
if($(this).hasClass('action-2')){
//Do action 2
}else{
//Do action 1
}
})
Чистый JavaScript
Проверьте, содержит ли выбранный элемент класс 'action-2'.
performAction = (e) => {
if (e.className.indexOf('action-2') === -1){
console.log('Perform Action 1')
}
else {
console.log('Perform Action 2')
}
}
<button type="button" class="btn action-complete-task" onclick="performAction(this)">Action 1</button>
<button type="button" class="btn action-complete-task action-2" onclick="performAction(this)">Action 2</button>