Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当css值更改时触发事件_Javascript_Jquery_Short - Fatal编程技术网

Javascript 当css值更改时触发事件

Javascript 当css值更改时触发事件,javascript,jquery,short,Javascript,Jquery,Short,当特定CSS变量发生变化(例如:特定div的高度)时,如何使用jquery调用函数?没有“本机”解决方案。如果您严格使用jQuery来操纵css属性,那么函数hook或(duck punshing)是最好的选择: (function($) { var _oldcss = $.fn.css; $.fn.css = function() { if( typeof arguments[0] === 'string' ) { console.log

当特定CSS变量发生变化(例如:特定div的高度)时,如何使用jquery调用函数?

没有“本机”解决方案。如果您严格使用jQuery来操纵css属性,那么函数hook或(duck punshing)是最好的选择:

(function($) {
    var _oldcss = $.fn.css;
    $.fn.css = function() {
        if( typeof arguments[0] === 'string' ) {
            console.log('css property ', arguments[0], ' is about to change for elem: ', this);
        }

        return _oldcss.apply(this, arguments);
    };
}(jQuery));
这当然是不完整的。如果
参数[0]
对象
,则需要迭代键/值。但这是基本原则

这个解决方案的好处是,即使是
.height()
也会调用
.css()
。所以

$('div:eq(2)').height(55);

将触发css属性高度即将为elem更改:[div#custom header]有一些插件方法以及不同浏览器的特性。它在所有浏览器中都模拟DOMAttrModified事件。

什么事件使CSS中的“变量”发生变化?高度是如何变化的?它是否被拖动/最大化?高度由另一个jQuery命令更改,该命令在文档中起涟漪作用。问题在于,这些变化不会立即传播。我只希望较低的阶段在它们的父包装器准备好时进行更新。我明白了,非常感谢。我很惊讶没有本土的选择。我在找有点像的东西。resize();