首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对通过Jquery添加的类作出反应

对通过Jquery添加的类作出反应
EN

Stack Overflow用户
提问于 2013-08-15 17:55:34
回答 2查看 199关注 0票数 0

我有一个菜单在我的网站上显示和隐藏时,用户点击一个链接。

正常情况下,我会用开关来做这个。但是,页面上还有其他菜单,因此需要在显示时关闭它们(我还在应用/删除动画类)。因此,我认为最好的方法是向链接中添加一个close类,然后对添加的类做出反应(其他菜单也有这个close类)。

但是,Jquery似乎对通过Jquery添加的类没有反应。我已经搜索过这个,并发现你可以使用活()来实现这个目的。但是,活()现在已经贬值了,您应该使用关于()

使用On的方式如下:

$('.anchor').on('click', '.close', function()

但似乎不起作用。我也尝试过各种不同的方法,但它们似乎都没有用。

如何让Jquery对它添加的类做出反应。

JSFIDDLE

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-15 18:18:53

绑定单击事件以记录和删除类.close,单击.anchor,反之亦然。

代码语言:javascript
运行
复制
$(document).on('click','.anchor', function() {
  $(this).removeClass('anchor');
  $(this).addClass('close');
  // ...

代码语言:javascript
运行
复制
$(document).on('click', '.close', function()    {
  $(this).removeClass('close');
  $(this).addClass('anchor');
  // ...

注意:最好将HTML包装在div中,并将事件绑定到div,而不是将其绑定到整个文档。

http://jsfiddle.net/Mq5xX/

更新

或者更好地更改与.anchor的紧密链接上的类并使用此代码。

代码语言:javascript
运行
复制
$(document).on('click','.anchor', function() {
  $('.anchor').addClass('close');
  $('.anchor').removeClass('anchor');
  // ...

代码语言:javascript
运行
复制
$(document).on('click','.close', function() {
  $('.close').addClass('anchor');
  $('.close').removeClass('close');
  // ...

http://jsfiddle.net/Mq5xX/1/

票数 2
EN

Stack Overflow用户

发布于 2013-08-15 18:02:27

我认为您的问题是,您的“关闭”链接不包含在带有类“锚”的元素中。因此,jQuery查找它,但找不到元素,无法将单击事件绑定到它。

如果您使用$('.close').on('click', function () { ... });,它确实会工作。

更新小提琴

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18258685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档