我有以下标记:
我刚刚添加了一些 jQuery 来切换行颜色:
单击行中的任意位置可切换 View ,如下所示:
问题是,自从我添加了切换功能后,链接就不起作用了。切换处理程序似乎捕获了该事件。我希望链接首先获取事件,然后获取行,因此链接应该可以正常工作。
有人发现问题了吗?
谢谢
最佳答案
这里的主要问题是,toggle() 不是您使用它的用途。
检查:http://api.jquery.com/toggle/
它使匹配的元素根据其当前状态隐藏和显示。
您可能想要使用的是 toggleClass()根据您的示例。
此外,从您的问题中还不清楚您的 javascript 的目的是什么。您何时(在什么事件中)想要更改项目的颜色?点击它?
您显然滥用了toggle()函数,但我不确定您希望在何时以及发生什么。
编辑:我看到您的目标是 toggle event已弃用。
编辑2:我为你做了一个jsfiddle,我认为它可以满足你的需求。
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。并且该链接工作正常。
关于Javascript 事件不冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522825/