问题:
我正在使用JQueryUI SwitchClass()
方法在2个类(例如“ class1”和“ class2”)之间切换元素的显示。这应该可以前后切换显示,但是我不能切换回原来的类。$('.class1').click()
函数可以正常工作,并将<a>
元素的类切换为“ class2”,样式和全部。
单击此$('.class2').click()
元素后,<a>
函数不会触发,尽管CSS类已经成功切换。单击后,我想将类切换回“ class1”。
样例代码:
http://jsfiddle.net/buddhaspake/F6BE8/1/
我敢肯定,我缺少一些简单的东西...任何解决方案/解决方法将不胜感激!
编辑:
我找到了2个解决问题的方法(如下所述)
1. SwitchClass()
问题的解决方案:(如Rajaprabhu所建议):使用jQuery事件委托模型向外部元素(最接近的静态父级)添加istener。
此处的示例代码:http://jsfiddle.net/buddhaspake/F6BE8/5
2.使用toggleClass()
的替代方法:(如adeneo所建议):根据adeneo注释链接中的示例代码使用jQuery toggleClass()方法。
最佳答案
尝试使用event-delegation
,因为您是在运行时更改类的,
$(document).on('click', '.class2', function() {
});
旁注:我只是将事件委托给了文档,因为我不知道您上下文中的静态父对象,因此请使用最接近的静态父对象来委托事件。因为如果我们依赖文档,那么很明显,它将是事件冒泡到DOM树时的最后一个元素。
关于javascript - JQueryUI SwitchClass对Javascript没有影响,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24478882/