在CSS中使用Javascript

是否可以在CSS中使用Javascript?

如果是,您可以举一个简单的例子吗?

回答:

IE和Firefox都包含从CSS执行JavaScript的方法。正如Paolo所提到的那样,IE中的一种方法是该expression技术,但是HTC行为也更加晦涩难懂,即通过CSS加载包含脚本的单独XML。存在使用XBL的 Firefox类似技术。这些技术不会直接从CSS中提取JavaScript ,但效果是相同的。

带有IE的HTC

使用CSS规则,如下所示:

body {

behavior:url(script.htc);

}

在该script.htc文件中具有以下内容:

<PUBLIC:COMPONENT TAGNAME="xss">

<PUBLIC:ATTACH EVENT="ondocumentready" ONEVENT="main()" LITERALCONTENT="false"/>

</PUBLIC:COMPONENT>

<SCRIPT>

function main()

{

alert("HTC script executed.");

}

</SCRIPT>

HTC文件main()在事件上执行功能ondocumentready(指HTC文档的准备情况。)

Firefox使用XBL支持类似的XML脚本执行黑客。

使用CSS规则,如下所示:

body {

-moz-binding: url(script.xml#mycode);

}

在你的script.xml中:

<?xml version="1.0"?>

<bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml">

<binding id="mycode">

<implementation>

<constructor>

alert("XBL script executed.");

</constructor>

</implementation>

</binding>

</bindings>

构造器标签中的所有代码都将执行(将代码包装在CDATA部分中的好主意。)

在这两种技术中,除非CSS选择器匹配document中的元素,否则代码不会执行。通过使用body,它会在页面加载后立即执行。

以上是 在CSS中使用Javascript 的全部内容, 来源链接: utcz.com/qa/423740.html

回到顶部