Javascript事件没有冒泡

时间:2013-03-20 11:55:50

标签: javascript jquery

我有以下标记:enter image description here

我刚刚添加了一些jQuery来切换行颜色: enter image description here

单击行中的任意位置可切换视图,如下所示:

enter image description here

问题在于,由于我添加了切换功能,因此链接不起作用。切换处理程序似乎捕获事件。我希望链接首先获取事件,然后获取行,因此链接应该可以正常工作。

有没有人看到这个问题?

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

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

此外,您的问题还不清楚您的javascript的目的是什么。何时(在什么情况下)你想改变一个项目的颜色?点击它?

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

编辑:我发现你的目标是弃用toggle event

EDIT2:我已经让你成为了一个我认为你想做的事情。

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。链接工作正常。