javascript - onkeyup 事件中未检测到文本区域更改?

标签 javascript jquery html

页面加载时需要检测 onkeyup 事件的文本区域更改。文本区域调整大小工作正常,但加载页面时未检测到文本区域的 onkeyup 事件。我尝试了以下代码。

<script>
    jQuery.each(jQuery('textarea[data-autoresize]'), function () {
        var offset = this.offsetHeight - this.clientHeight;
        var resizeTextarea = function (el) {
            jQuery(el).css('height', 'auto').css('height', el.scrollHeight + offset);
        };
        jQuery(this).on('keyup input', function () {
            resizeTextarea(this);
        });
        jQuery(this).trigger('keyup');
    });
</script>

最佳答案

尝试在 window.onload 中运行代码

window.onload=function(){
    jQuery.each(jQuery('textarea[data-autoresize]'), function() {
      var offset = this.offsetHeight - this.clientHeight;
      var resizeTextarea = function(el) {
        jQuery(el).css('height', 'auto').css('height', el.scrollHeight + offset);
      };
      jQuery(this).on('keyup input', function() {
        resizeTextarea(this);
      });
      jQuery(this).trigger('keyup');
    });

    //trigger when modal showing
    $('.modal').on('shown.bs.modal', function () { 
        jQuery('textarea[data-autoresize]').trigger('keyup');
    })

}

fiddle here

关于javascript - onkeyup 事件中未检测到文本区域更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36979797/

相关文章:

javascript - self 检测每个页面单击的菜单项的最佳实践是什么?

javascript - django 模板在 javascript 刷新时复制菜单栏的问题

javascript - 我的发电机不工作

javascript - 你怎么能只 console.log 前 100 行?

javascript - jQuery UI 模态销毁表单提交

javascript - 我想在其他样式表和正文加载之前首先在 Html 中加载特定样式表。怎么做?

javascript - $(document).bind ('ready' , function) 和 $(document).ready(function() {}) 有什么区别

jquery - 重新加载网格不适用于多个 jqgrid

javascript - 获取使用 AJAX 加载的 select 的值

javascript - 尝试按百分比增加进度条