Настройка проста; Я хочу иметь возможность добавить класс (в данном случае) к кнопке, когда происходит событие onClick. Моя проблема в том, что я не нашел способ передать саму кнопку в качестве параметра функции. Я хотел бы сделать что-то вроде:
<asp:Button ID="Button" runat="server" onclick="addClassByClick(this)"/>
А потом функция javaScript примерно такая:
function addClassByClick(button){
button.addClass("active")
}
Я знаю, что у меня здесь много ошибок, но именно поэтому я публикую. Я пробовал разные сценарии с jQuery и без jQuery, но я всегда получаю неработающее решение (внезапно перестают появляться щелчки, класс не добавляется и т. Д.), Поэтому я решил спросить у профессионалов.
Любое предложение, что я могу пытаться? Спасибо за чтение , редактирование и всю помощь!
Для использования .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
});
});
Использование jQuery:
$('#Button').click(function(){
$(this).addClass("active");
});
Таким образом, вам не нужно загрязнять разметку HTML обработчиками onclick
.
$(document).ready(function() {
$('#Button').click(function() {
$(this).addClass('active');
});
});
должно помочь. если вы не загружаете кнопку с помощью ajax. В этом случае вы можете сделать следующее:
$('#Button').live('click', function() {...
Также не забывайте использовать один и тот же идентификатор более одного раза в вашем HTML-коде.
$('#button').click(function(){
$(this).addClass('active');
});