2013-03-20 124 views
1

我有下面的标记:enter image description here的Javascript事件不冒泡

而且我我只是增加了一些jQuery来切换行颜色: enter image description here

该行的任意位置点击切换视图,如下图所示:

enter image description here

的问题是,因为我加入了切换功能的链接不工作。切换处理程序似乎捕获事件。我希望链接首先获得事件,然后是该行,所以链接应该正常工作。

有没有人看到这个问题?

谢谢

+0

'toggle()'已弃用。不建议再使用它。 – VisioN 2013-03-20 11:58:20

+1

@VisioN它必须被弃用,因为'toogle()'从不存在。你的意思是'toggle()'? :) – mattytommo 2013-03-20 11:59:27

+2

请在添加代码时添加人们可以测试的实际代码,而不是代码图像。 – fmendez 2013-03-20 12:00:08

回答

1

这里的主要问题是toggle()不是你使用它的。

检查:http://api.jquery.com/toggle/

这使得根据它的当前状态的匹配元素隐藏和显示。

根据您的示例,您可能想要使用的是toggleClass()

此外,从您的问题中不清楚您的JavaScript的目的是什么。什么时候(在什么事件上)你想改变一件物品的颜色?点击它?

你明显在滥用toggle()函数,但我不确定你想要什么时候以及你想要发生什么。

编辑:我看你是瞄准toggle event这是弃用。

编辑2:我让你成为一个jsfiddle,我认为你想做什么。

http://jsfiddle.net/kytJ3/1/

的HTML:

<div id="test" class="test-class">DURP<br />HURP<br /> 
    <a href="http://google.com" target="_blank">A LINK</a> 
</div> 

的JS:

$('#test').click(function() { 
    $(this).toggleClass('test-class'); 
}); 

的CSS:

div { 
    color: red; 
} 
.test-class { 
    color: blue; 
} 

这也导致清洁剂(自由式) JavaScript的。链接工作正常。

+0

是的,你说得对。我应该使用toggleClass()。切换(handler1,handler2)已被弃用,并从1.9中的jQuery中删除。谢谢。我现在正在工作。 – Steve 2013-03-20 19:02:07