jQuery-如何确定div是否更改其高度或任何CSS属性?

jQuery-如何确定div是否更改其高度或任何CSS属性?,第1张

jQuery-如何确定div是否更改其高度或任何CSS属性?

首先,没有开箱即用的css-changes事件,但是您可以自己创建一个,仅

onchange
用于
:input
元素。不适用于CSS更改。

有两种跟踪CSS更改的方法。

  1. 每x次(示例中为500毫秒)检查DOM元素的css变化。
  2. 当触发事件 更改元素的CSS。
  3. 使用
    DOMAttrModified
    突变事件。但是已弃用,因此我将跳过它。

第一种方式:

var $element = $("#elementId");var lastHeight = $("#elementId").css('height');function checkForChanges(){    if ($element.css('height') != lastHeight)    {        alert('xxx');        lastHeight = $element.css('height');     }    setTimeout(checkForChanges, 500);}

第二种方式:

$('#mainContent').bind('heightChange', function(){        alert('xxx');    });$("#btnSample1").click(function() {    $("#mainContent").css('height', '400px');    $("#mainContent").trigger('heightChange'); //<====    ...});

如果您控制css的更改,第二个选择是更优雅,更有效的方法。

资料:

  • 绑定:
    Description: Attach a handler to an event for the elements.
  • 触发:
    Description: Execute all handlers and behaviors attached to the matched elements for the given event type.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5641238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存