Javascript 使用toggleClass()生成的类不';t单击事件时发出警报
另一个Javascript 使用toggleClass()生成的类不';t单击事件时发出警报,javascript,jquery,html,css,Javascript,Jquery,Html,Css,另一个toggleClass()问题。关于这个jQuery函数有很多问题,但我找不到这个具体的问题 我有两个按钮。一个在单击时切换另一个的类。这很好,因为颜色会改变,但是当我在“new”类上使用click()事件时,什么都不会发生 html <button type='button' id='button1'>button 1</button> <button type='button' id='button2'>button 2</button>
toggleClass()
问题。关于这个jQuery函数有很多问题,但我找不到这个具体的问题
我有两个按钮。一个在单击时切换另一个的类。这很好,因为颜色会改变,但是当我在“new”类上使用click()
事件时,什么都不会发生
html
<button type='button' id='button1'>button 1</button>
<button type='button' id='button2'>button 2</button>
js
.pushed {
background-color: salmon;
}
$('#button1').click(function () {
$('#button2').toggleClass('pushed');
});
$('.pushed').click(function () {
alert('pushed!')
});
您可以在这里尝试:,因为您选择的元素在
存在之前就已按下了。尝试使用以下方法:
$(document).on('click', '.pushed',function () {
alert('pushed!')
});
上的会将单击事件绑定到当前匹配的元素和未来匹配的元素。因为您选择的元素在.pushed
之前就存在了。尝试使用以下方法:
$(document).on('click', '.pushed',function () {
alert('pushed!')
});
上的将单击事件绑定到当前匹配的元素和未来匹配的元素。请考虑您可以只为现有Dom元素注册事件。
关键的一点是$('.push')返回jquery对象,该对象没有用于注册事件的元素。请考虑,您可以只为现有Dom元素注册事件。
关键点是$('.push')返回jquery对象,其中没有可在其上注册事件的元素。@Rob编辑不正确。。。颜色改变了,问题是它没有提示“按下”,然后编辑标题以反映这一点。@Rob编辑不正确。。。颜色改变了,问题是它不会提醒“按下”,然后编辑你的标题以反映这一点。是的,有道理。。。正是我需要的,谢谢!是的,有道理。。。正是我需要的,谢谢!