2013-03-19 5 views
2

согласно w3 школы <textarea> поддерживает onresize однако он не работает.textarea onresize не работает

http://www.w3schools.com/jsref/event_onresize.asp

браузеры пробовал:

Chrome 25.0.1364.172

Safari 6.0.3 (7536.28.10)

Firefox 19,0

FIDDLE: http://jsfiddle.net/btevfik/5abR3/

обновление

, как я узнал, что мой урок не доверять w3schools 100%, я нашел это

https://developer.mozilla.org/en-US/docs/DOM/element.onresize

+2

не доверяют W3 Schools: http://w3fools.com/ – Pete

+0

ничего я могу доверять? – btevfik

ответ

2

прокручиваемым не менять размеры в MOST (ALL) браузеры OnResize событие является НЕ РАБОТАЕМ объект окна в этом случае дело использовать JQuery UI плагин:

$("idoftextarea").resizable({ 
    resize: function() { 
     $("id").append("yourcode"); 
    } 
}); 

Код: http://jqueryui.com/resizable/

+0

эй спасибо. есть ли способ добавить это легко ко всем элементам textarea на странице. Я попробовал 'var arr = document.getElementsByTagName ('textarea');' и затем повторил 'arr', но не работал. – btevfik

+0

'var text = document.getElementsByTagName ('textarea'); для (var i = 0; i btevfik

+0

yse, $ (" body "). Find (" textarea "). Reresizable (.... фактический я не тестировал, но я должен woek –

2

Большинство браузеров запускают onresize только на элемент кузова.

Лучшим решением, которое я нашел до сих пор, является использование прослушивателей событий переполнения и underflow в красивом хаке.

http://www.backalleycoder.com/2013/03/18/cross-browser-event-based-element-resize-detection/

Это чистый JavaScript.

1

Просто обновление ответа ravula (в моей репутация слишком низкая для комментариев):

JQuery добавляет кучу дивы к перезначительному элементу. В моем случае это уничтожило весь макет. Вы можете избавиться от дополнительной маржи/дополнения с помощью:

.ui-wrapper { 
 
\t padding:0px !important; 
 
\t margin:0px !important; 
 
\t 
 
}
Это, конечно, не очень чистое и моих проблем вызывают, но он работал в моем случае. Я буду обновлять этот пост, если у меня возникнут проблемы.

2

Немного обходной путь:

$('textarea').bind('mouseup', function() { 
    console.log('resized'); 
}); 
Смежные вопросы