HTML Dog

跳至导航

Suckerfish :active

作者:Patrick Griffiths 和 Dan Webb

好的,除了 :link:visited:hover 之外,另一个与链接常用的伪类是 :active,它在元素被激活时(例如,通过点击)应用样式。问题是,尽管没有什么特别有用的应用浮现在脑海中,但你应该能够将其应用于任何元素,而不仅仅是链接。


p:active { color: red; }

但是,IE 作为其自身的网络标准顽固分子,就是不理解。它需要 Suckerfish 狠狠地踢它屁股。


sfActive = function() {
	var sfEls = document.getElementById("content").getElementsByTagName("P");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmousedown=function() {
			this.className+=" sfactive";
		}
		sfEls[i].onmouseup=function() {
			this.className=this.className.replace(new RegExp(" sfactive\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfActive);

这会将 Suckerfish 应用于 ID 为 'content' 的元素内的所有 p 元素。

因此,通过对 CSS 进行一些调整……


p:active, p.sfactive { color: red; }

……你就拥有了在被点击时能够拾取样式的元素。

示例

Suckerfish :hover 中的示例类似,你可以利用 Suckerfish :active 来 突出显示段落中的某些单词,当段落被点击时。

呃……如果你能想到其他用途,请告知我们……