jQuery addClass onClick

Настройка проста; Я хочу иметь возможность добавить класс (в данном случае) к кнопке, когда происходит событие onClick. Моя проблема в том, что я не нашел способ передать саму кнопку в качестве параметра функции. Я хотел бы сделать что-то вроде:

<asp:Button ID="Button" runat="server" onclick="addClassByClick(this)"/>

А потом функция javaScript примерно такая:

function addClassByClick(button){
    button.addClass("active")
}

Я знаю, что у меня здесь много ошибок, но именно поэтому я публикую. Я пробовал разные сценарии с jQuery и без jQuery, но я всегда получаю неработающее решение (внезапно перестают появляться щелчки, класс не добавляется и т. Д.), Поэтому я решил спросить у профессионалов.

Любое предложение, что я могу пытаться? Спасибо за чтение , редактирование и всю помощь!

25
задан Phil 25 August 2010 в 15:03
поделиться

4 ответа

Для использования .addClass () это должен быть элемент jQuery, поэтому он должен быть заключен в $ () следующим образом:

function addClassByClick(button){
  $(button).addClass("active")
}

Лучшее общее решение быть ненавязчивым скриптом, например:

<asp:Button ID="Button" runat="server" class="clickable"/>

Затем в jquery:

$(function() {                       //run when the DOM is ready
  $(".clickable").click(function() {  //use a class, since your ID gets mangled
    $(this).addClass("active");      //add the class to the clicked element
  });
});
46
ответ дан 28 November 2019 в 18:31
поделиться

Использование jQuery:

$('#Button').click(function(){
    $(this).addClass("active");
});

Таким образом, вам не нужно загрязнять разметку HTML обработчиками onclick .

10
ответ дан 28 November 2019 в 18:31
поделиться
$(document).ready(function() {
    $('#Button').click(function() {
        $(this).addClass('active');
    });
});

должно помочь. если вы не загружаете кнопку с помощью ajax. В этом случае вы можете сделать следующее:

$('#Button').live('click', function() {...

Также не забывайте использовать один и тот же идентификатор более одного раза в вашем HTML-коде.

2
ответ дан 28 November 2019 в 18:31
поделиться
$('#button').click(function(){
    $(this).addClass('active');
});
0
ответ дан 28 November 2019 в 18:31
поделиться
Другие вопросы по тегам:

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