我想测试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中根本不起作用
答案 0 :(得分:1)
目前,仅在Webkit浏览器上支持overflowchanged
。
解决方法可以是检查突变事件(特别是DOMAttrModified
)并检查溢出是否发生了变化。
div.addEventListener("DOMAttrModified", function() {
// check overflow value
}, false);
这不会在屏幕调整大小时触发,因此它可能无法完全满足您的要求。但是你可以在某处找到解决方案。
在MDN上:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Events/Mutation_events
在Microsoft网站上:http://msdn.microsoft.com/en-us/library/ie/dn265032(v=vs.85).aspx