簡體   English   中英

有沒有一種方法可以使IE 10+在元素的溢出發生變化時觸發事件?

[英]Is there a way to get IE 10+ to fire an event when the overflow of an element changes?

我想測試div是否溢出。 以下代碼適用於webkit和FF。

    var div = $("#myDivWithOverflow")[0];
    var OnOverflowChanged = function(){
        alert("OnOverflowChanged");
    }

    if (div.addEventListener) {
        // webkit
        div.addEventListener ('overflowchanged', OnOverflowChanged, false);
        // firefox
        div.addEventListener ('overflow', OnOverflowChanged, false);
    }

據我所知,IE10 +支持addEventListener方法,但對以上任何一個事件都沒有反應。

有沒有辦法在IE中實現這一目標?

更新 :我創建了一個小提琴,該小提琴更清楚地說明了我想要實現的目標: http : //jsfiddle.net/AyKarsi/sB36r/1/不幸的是,由於某些安全限制,該小提琴根本無法在IE中使用

當前,僅Webkit瀏覽器支持overflowchanged

解決方法是檢查突變事件(尤其是DOMAttrModified ),並檢查溢出是否已更改。

div.addEventListener("DOMAttrModified", function() {
  // check overflow value
}, false);

這不會在屏幕調整大小時觸發,因此它可能無法完全滿足您的需求。 但這是您可以尋求解決方案的地方。

在MDN上: https//developer.mozilla.org/zh-CN/docs/Web/Guide/API/DOM/Events/Mutation_events
在Microsoft網站上: http : //msdn.microsoft.com/en-us/library/ie/dn265032(v=vs.85).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM