我有一个菜单在我的网站上显示和隐藏时,用户点击一个链接。
正常情况下,我会用开关来做这个。但是,页面上还有其他菜单,因此需要在显示时关闭它们(我还在应用/删除动画类)。因此,我认为最好的方法是向链接中添加一个close
类,然后对添加的类做出反应(其他菜单也有这个close
类)。
但是,Jquery似乎对通过Jquery添加的类没有反应。我已经搜索过这个,并发现你可以使用活()来实现这个目的。但是,活()现在已经贬值了,您应该使用关于()。
使用On的方式如下:
$('.anchor').on('click', '.close', function()
但似乎不起作用。我也尝试过各种不同的方法,但它们似乎都没有用。
如何让Jquery对它添加的类做出反应。
JSFIDDLE
发布于 2013-08-15 18:18:53
绑定单击事件以记录和删除类.close
,单击.anchor
,反之亦然。
$(document).on('click','.anchor', function() {
$(this).removeClass('anchor');
$(this).addClass('close');
// ...
和
$(document).on('click', '.close', function() {
$(this).removeClass('close');
$(this).addClass('anchor');
// ...
注意:最好将HTML包装在div中,并将事件绑定到div,而不是将其绑定到整个文档。
http://jsfiddle.net/Mq5xX/
更新
或者更好地更改与.anchor
的紧密链接上的类并使用此代码。
$(document).on('click','.anchor', function() {
$('.anchor').addClass('close');
$('.anchor').removeClass('anchor');
// ...
和
$(document).on('click','.close', function() {
$('.close').addClass('anchor');
$('.close').removeClass('close');
// ...
http://jsfiddle.net/Mq5xX/1/
发布于 2013-08-15 18:02:27
我认为您的问题是,您的“关闭”链接不包含在带有类“锚”的元素中。因此,jQuery查找它,但找不到元素,无法将单击事件绑定到它。
如果您使用$('.close').on('click', function () { ... });
,它确实会工作。
更新小提琴
https://stackoverflow.com/questions/18258685
复制相似问题