Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/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 Jquery remove类正在重新应用该类_Javascript_Jquery_Css_Addclass_Removeclass - Fatal编程技术网

Javascript Jquery remove类正在重新应用该类

Javascript Jquery remove类正在重新应用该类,javascript,jquery,css,addclass,removeclass,Javascript,Jquery,Css,Addclass,Removeclass,我是jquery新手,正在尝试添加然后删除一个div类。首先,我用addClass()添加类名单击div时,然后我想通过单击链接将其删除。这是我到目前为止写的代码,但它不起作用。 我做错了什么 HTML: <div class="block yellow expandable skewX"> <div>Test</div> <span id="transp"> <a id="close">close</a> </

我是jquery新手,正在尝试添加然后删除一个div类。首先,我用
addClass()添加类名单击div时,然后我想通过单击链接将其删除。这是我到目前为止写的代码,但它不起作用。

我做错了什么

HTML:

<div class="block yellow expandable skewX">
<div>Test</div> <span id="transp">  
<a id="close">close</a>
</span>
</div>
$('.expandable').on('click', function () {
 $(this).addClass('fullscreen');
});

$('#close').click(function () {
 $('.expandable').removeClass('fullscreen');
});
注:

  • 在firefox上,它的行为就像在单击链接时重新应用类一样
  • 在Chrome上,链接不可单击

提前感谢

这是因为在子项单击时会触发父项事件。您需要停止事件传播到子元素:

$('#close').click(function (e) {
  e.stopPropagation()
  $('.expandable').removeClass('fullscreen');
});

这是因为父事件在子单击时被触发。您需要停止事件传播到子元素:

$('#close').click(function (e) {
  e.stopPropagation()
  $('.expandable').removeClass('fullscreen');
});

您的问题是
#close
.expandable
的孩子。因此,当您单击
#close
时,也会触发
.expandable
上的click listener(单击侦听器)(这意味着您将删除该类,并在将其添加回后直接将其删除)


要解决您的问题,您应该确保您的结束项不是开始项的子项。

您的问题是
\close
.expandable
的子项。因此,当您单击
#close
时,也会触发
.expandable
上的click listener(单击侦听器)(这意味着您将删除该类,并在将其添加回后直接将其删除)


要解决您的问题,您应该确保您的结束项不是开始项的子项。

对相关代码本身提出疑问。对相关代码本身提出疑问。谢谢,工作顺利。我必须多读书。我第一次看到stopPropagation()。我现在就用谷歌搜索:)谢谢,工作得很完美。我必须多读书。我第一次看到stopPropagation()。我现在就用谷歌搜索:)