.trigger() 不触发自动调整事件
.trigger() not triggering autosize event
您好,我有一个使用 autosize 文本字段的项目,如果字段由脚本编辑,则需要使用 'autosize:update' 触发器更新这些字段,但我在获取时遇到了一些问题这个工作。如果我尝试输入:
$('.auto-size').trigger('autosize:update')
当需要更新时进入控制台,没有任何反应,我不确定为什么?
我是 javascript/jquery 的新手,非常感谢任何帮助。
如果 autosize:update 是 css 属性,它可能是,但我无法在网上找到它。但如果是,
$(".auto-size").trigger(function(){
$(".auto-size").css("autosize","update");
});
如文档中所述,您可以使用:
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 文本字段的项目,如果字段由脚本编辑,则需要使用 'autosize:update' 触发器更新这些字段,但我在获取时遇到了一些问题这个工作。如果我尝试输入:
$('.auto-size').trigger('autosize:update')
当需要更新时进入控制台,没有任何反应,我不确定为什么?
我是 javascript/jquery 的新手,非常感谢任何帮助。
如果 autosize:update 是 css 属性,它可能是,但我无法在网上找到它。但如果是,
$(".auto-size").trigger(function(){
$(".auto-size").css("autosize","update");
});
如文档中所述,您可以使用:
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>