Chrome使textareas默認可調整大小。如何將事件附加到textareas的調整大小事件?做天真的$('textarea').resize(function(){...})
什麼都不做。jQuery:Chrome textareas和調整大小事件
回答
它看起來不像你可以特別附加事件來調整文本區域大小。調整窗口大小時觸發resize事件。
我現在不能測試此權利,但根據this forum entry它可以使用被禁用:
style="resize: none;"
不像在該條規定,max-width
和max-height
不會削減它 - 感謝@Jonathan桑普森爲信息。
+1'resize:none'禁用它。 'max-width'和'max-height'沒有:http://jsbin.com/inane – Sampson 2010-01-19 19:20:13
乾杯喬納森。我相應地更新了我的答案。 – 2010-01-19 19:21:54
這是一個使用CoffeeScript編寫的jQuery插件。喬納森桑普森的想法。
$.fn.sizeId = ->
return this.height() + "" + this.width()
$.fn.textAreaResized = (callback) ->
this.each ->
that = $ this
last = that.sizeId()
that.mousedown ->
last = that.sizeId()
that.mousemove ->
callback(that.get(0)) if last isnt that.sizeId()
你可以把它打造爲Javascript在CoffeeScript的主頁
http://jashkenas.github.com/coffee-script/
使用 「嘗試的CoffeeScript」 按鈕。
有jQuery的調整曾經列入只是讓你給出的老本行: http://benalman.com/projects/jquery-resize-plugin/
到埃佩利的答案類似我試圖啓動一個乾淨的解決方案,以在鼠標按下觸發一個resize()事件:http://jsfiddle.net/cburgmer/jv5Yj/3/ 然而,它只適用於Firefox,因爲Chrome似乎沒有觸發調整大小處理程序上的mousedown。但它確實會觸發mouseup。
這是一個老問題,但其他人曾在IRC同一個,所以我決定在這裏解決了這樣一個現實:Chrome不捕捉resize事件http://jsfiddle.net/vol7ron/Z7HDn/
每個人的權利,Chrome不捕捉鼠標按下,所以你需要設置初始化狀態,然後經過處理的mouseup改變:
jQuery(document).ready(function(){
// set init (default) state
var $test = jQuery('#test');
$test.data('w', $test.outerWidth());
$test.data('h', $test.outerHeight());
$test.mouseup(function(){
var $this = jQuery(this);
if ( $this.outerWidth() != $this.data('w')
|| $this.outerHeight() != $this.data('h')
)
alert($this.outerWidth() + ' - ' + $this.data('w') + '\n'
+ $this.outerHeight() + ' - ' + $this.data('h'));
// set new height/width
$this.data('w', $this.outerWidth());
$this.data('h', $this.outerHeight());
});
});
HTML
<textarea id="test"></textarea>
- 1. Flexbox調整大小事件(?)
- 2. FullCalendar事件調整大小
- 3. orientationchange事件觸發滾動和調整大小事件
- 4. JQuery UI可調整大小調整事件綁定/調整大小事件到主幹視圖
- 5. 調整wxpython小部件的大小調整事件的函數在調整大小時多次調用
- 6. PowerShell窗體調整大小事件
- 7. 在flex中調整大小事件
- 8. 調整窗口大小事件
- 9. Flash未收到調整大小事件
- 10. QTableWidget列調整大小事件
- 11. jqGrid - 列調整大小事件
- 12. 如何觸發調整大小事件?
- 13. 引導行調整大小事件
- 14. 調整大小的特定事件()
- 15. 檢測UIPopover調整大小事件
- 16. PySide QTabWidget調整大小事件
- 17. jQuery對話框調整大小事件
- 18. Knockout kendo窗口調整大小事件
- 19. PyQt graphicsview調整大小事件
- 20. 取消JQueryUI可調整大小事件
- 21. 調整畫布大小的JavaScript事件
- 22. 在jQuery中調整事件大小FullCalendar
- 23. Onresize事件未在調整大小
- 24. Fullcalendar - 水平調整事件大小
- 25. 元素大小調整後的事件
- 26. 根據窗體調整大小和調整窗體控件調整大小
- 27. 如何讓textareas只使用CSS自動調整大小?
- 28. 如何調整jsfiddle.net中多個相鄰textareas的大小?
- 29. Python和Qt(PyQt) - 調整大小事件前的調用方法
- 30. 調整元素的大小會觸發窗口的大小調整事件
你可以前檢查寬度和點擊後。 – Sampson 2010-01-19 19:14:59