另一个toggleClass()
问题。关于这个jQuery函数有几十个问题,但我找不到这个特定的。
我有2个按钮。单击一下即可切换另一个类。这可以正常工作,因为颜色会发生变化,但是当我在'new'类上使用click()
事件时,没有任何事情发生。
HTML
<button type='button' id='button1'>button 1</button>
<button type='button' id='button2'>button 2</button>
CSS
.pushed {
background-color: salmon;
}
JS
$('#button1').click(function () {
$('#button2').toggleClass('pushed');
});
$('.pushed').click(function () {
alert('pushed!')
});
你可以在这里试试:https://jsfiddle.net/tk9pt3o2/
答案 0 :(得分:2)
因为在存在之前选择了.pushed
的元素。试着用这个:
$(document).on('click', '.pushed',function () {
alert('pushed!')
});
on
会将click事件绑定到当前匹配的元素和将来匹配的元素。
答案 1 :(得分:0)
考虑您只需为现有的Dom元素注册事件。 关键点是$(&#39; .pushed&#39;)返回jquery对象,没有元素在其上注册事件。