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