[英]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.