1 | import $ from './jquery';
|
2 | import globalize from './internal/globalize';
|
3 |
|
4 | function onTextResize (f) {
|
5 | if (typeof f === 'function') {
|
6 | if (onTextResize['on-text-resize']) {
|
7 | onTextResize['on-text-resize'].push(function (emsize) {
|
8 | f(emsize);
|
9 | });
|
10 | } else {
|
11 | var em = $('<div></div>');
|
12 |
|
13 | em.css({
|
14 | width: '1em',
|
15 | height: '1em',
|
16 | position: 'absolute',
|
17 | top: '-9999em',
|
18 | left: '-9999em'
|
19 | });
|
20 |
|
21 | $('body').append(em);
|
22 | em.size = em.width();
|
23 |
|
24 | setInterval(function () {
|
25 | if (em.size !== em.width()) {
|
26 | em.size = em.width();
|
27 |
|
28 | for (var i = 0, ii = onTextResize['on-text-resize'].length; i < ii; i++) {
|
29 | onTextResize['on-text-resize'][i](em.size);
|
30 | }
|
31 | }
|
32 | }, 0);
|
33 | onTextResize.em = em;
|
34 | onTextResize['on-text-resize'] = [function (emsize) {
|
35 | f(emsize);
|
36 | }];
|
37 | }
|
38 | }
|
39 | }
|
40 |
|
41 | globalize('onTextResize', onTextResize);
|
42 |
|
43 | export default onTextResize;
|