Как разрешить кнопке иметь два отдельных поведения в зависимости от ее классов?

Просто добавьте что-то примечательное здесь.


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;

    ...
}
1
задан 16 January 2019 в 10:16
поделиться

4 ответа

Насколько я понимаю вашу проблему, вы можете привязать событие к родительскому элементу, который существует в примере загрузки страницы 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)

0
ответ дан john Smith 16 January 2019 в 10:16
поделиться

Существует много решений для этого, таких как: 1. Добавьте класс action-1 к вашей первой кнопке, чтобы обработчик был

$(".action-complete-task.action-1").on("click", function (event) {})
  1. . Сделайте его одним обработчиком, но предоставьте функцию. который проверяет класс внутри
$(".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
  }
})
0
ответ дан whynut 16 January 2019 в 10:16
поделиться

Это легко сделать.

$(".action-complete-task").on('click', function(event){
  if($(this).hasClass('action-2')){
    //Do action 2
  }else{
    //Do action 1
  }
})
0
ответ дан Cong Nguyen 16 January 2019 в 10:16
поделиться

Чистый 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>

0
ответ дан holydragon 16 January 2019 в 10:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: