Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用toggleClass()生成的类不';t单击事件时发出警报_Javascript_Jquery_Html_Css - Fatal编程技术网

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编辑不正确。。。颜色改变了,问题是它不会提醒“按下”,然后编辑你的标题以反映这一点。是的,有道理。。。正是我需要的,谢谢!是的,有道理。。。正是我需要的,谢谢!