Javascript 当css值更改时触发事件
当特定CSS变量发生变化(例如:特定div的高度)时,如何使用jquery调用函数?没有“本机”解决方案。如果您严格使用jQuery来操纵css属性,那么函数hook或(duck punshing)是最好的选择: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
(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();