修改LESS变量不适用于包含LESS代码</style>的页内<style>标记

时间:2013-12-06 19:04:13

标签: javascript less

使用最新版本的LESS(1.5.1),当我尝试通过调用<style>来修改JS中less.modifyVars()标记中定义的LESS变量时,变量不会更新

示例:

<style type="text/less">
@bgColor: red;
#box {
width: 100px;
height: 100px;
border: 1px solid black;
    background-color: @bgColor;
}
</style>

<div id="box"></div>

<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="less-1.5.1.min.js"></script>

<script type="text/javascript">
$(function(){
    $("#box").hover(
        function(){
            less.modifyVars({'@bgColor': 'blue'});
        },
        function(){
            less.modifyVars({'@bgColor': 'red'});
        }
    );
});
</script>

如果<style>标记中的代码放入外部LESS样式表并通过<link>标记引用,则LESS变量将更新。

任何想法为什么?这是LESS的错误吗?

感谢。

1 个答案:

答案 0 :(得分:2)

一个Bug

Here is the current thread that reports it。它被认为是固定的,但两个月前重新开放为LESS 1.5,因为它实际上并没有更新<style>元素中的变量。