.trigger()不触发autosize事件

.trigger() not triggering autosize event

本文关键字:autosize 事件 trigger      更新时间:2023-09-26

嗨,我有一个使用自动大小文本字段的项目,这些字段需要使用'autosize:update'触发器进行更新,如果该字段是由脚本编辑的,但我有一些麻烦让这个工作。如果我输入:

$('.auto-size').trigger('autosize:update')

进入控制台时,更新需要发生,什么也没有发生,我不知道为什么?

我对javascript/jquery非常陌生,所以任何帮助都会非常感激。

如文档中所述,您可以使用:

autosize.update($('.auto-size'));

或者你可以使用:

   var evt = document.createEvent('Event');
   evt.initEvent('autosize:update', true, false);
   $('.auto-size').get(0).dispatchEvent(evt);

一个例子:

// initialiaze the field
autosize($('.auto-size'));
// add new text to textarea and update!
$('#myBtn').on('click', function(e) {
  var ele = $('.auto-size');
  ele.text(ele.text() + 'This is a new line.'n');
  autosize.update(ele);
  
  // Dispatch a 'autosize:update' event to trigger a resize:
  //var evt = document.createEvent('Event');
  //evt.initEvent('autosize:update', true, false);
  //$('.auto-size').get(0).dispatchEvent(evt);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/jackmoore/autosize/master/dist/autosize.min.js"></script>
<textarea class="auto-size"></textarea>
<button id="myBtn">Click Me</button>

如果autosize:update是一个CSS属性,它可能是,但我在网上找不到它。但如果是,

$(".auto-size").trigger(function(){
    $(".auto-size").css("autosize","update");
});