我需要在用户更改浏览器中的字体大小时得到通知。
我需要重新定位一些必须相对于文本内部锚点在一个维度上的元素。
到目前为止,我还没有找到任何东西,我有点担心它可能不可能。在这种情况下,可以使用隐藏的div和一些文本以及轮询其宽度变化的脚本来模拟它。但我希望有人有更优雅的解决方案。
编辑:
我按以下方式实施了轮询功能。它尚未在所有浏览器上进行适当的测试,但它不依赖于特定于浏览器的功能。像这样使用 $('body').bind('fontResize', function(){...})
$(function(){
$('body').append($('<div id="theFontResizeCaptureDiv">A<br>B<br>C</div>'));
$('#theFontResizeCaptureDiv').css({visibility: 'hidden', position: 'absolute'});
window.setInterval(function(){
var div = $('#theFontResizeCaptureDiv');
var stored = parseInt(div.attr('c_height'));
if(isNaN(stored)){ // first run
div.attr('c_height', div.innerHeight());
}else if(stored != div.innerHeight()){ // changed
div.attr('c_height', div.innerHeight());
$('body').trigger('fontResize');
}
}, 200);
});