在textarea上触发keypress事件无法正常工作

1)我有一个textarea地方,我正在写一个函数来执行自动调整大小....(效果很好)

2)单击按钮后,我有一个按钮可以改变class文本区域的颜色(添加背景色,填充等)

问题

点击该按钮后,一切都运行良好,但padding-bottomappers是0当supossed显示新40px填充底部。仅在在textarea上写了点东西之后,才恢复此填充。

我知道这是因为autosize function我添加到了textarea

作为解决方案,我想.trigger("keypress");在单击按钮后触发一个,但是什么也没有

我究竟做错了什么?

$('textarea').on('input', autosize);

function autosize() {
  var $this = $(this);
  $this
    .css({
      height: 'auto'
    })
    .css({
      height: $this.prop('scrollHeight')
    });
}

$(".BgChanger").on("click", function() {

  $(".main_textarea")
  .addClass("BgA");

});
.BgChanger {}

.BgA {
  width: auto;
  border: 1px solid red;
  background: green!important;
  text-align: center!important;
  font-size: 22px!important;
  color: white!important;
  font-weight: bold;
  padding: 50px 20px 40px 20px;
}

.main_textarea::-webkit-scrollbar {
  display: none;
}

.main_textarea {
  width: 300px;
  height: 90px;
  outline: 0;
  border: 1px solid blue;
  margin: 0 auto;
  resize: none!important;
  background: #fff;
  outline: 0;
  color: #292F33 !important;
  font-size: 20px !important;
  box-sizing: border-box;
  overflow: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="BgChanger">Change Textarea Bg</div>
<textarea class="main_textarea"></textarea>

https://jsfiddle.net/n651hL8k/10/

劳尔·索科(Raul Sauco)

问题不是填充,而是textarea的height属性。

一种骇人听闻的解决方案是将其链接.css({height: 'auto'})到您的onclick处理函数。

$('textarea').on('input', autosize);

function autosize() {
  var $this = $(this);
  $this
    .css({
      height: 'auto'
    })
    .css({
      height: $this.prop('scrollHeight')
    });
}

$(".BgChanger").on("click", function() {

  $(".main_textarea")
  .addClass("BgA")
    .css({
      height: 'auto'
    });

});
.BgChanger {}

.BgA {
  width: auto;
  border: 1px solid red;
  background: green!important;
  text-align: center!important;
  font-size: 22px!important;
  color: white!important;
  font-weight: bold;
  padding: 50px 20px 40px 20px;
}

.main_textarea::-webkit-scrollbar {
  display: none;
}

.main_textarea {
  width: 300px;
  height: 90px;
  outline: 0;
  border: 1px solid blue;
  margin: 0 auto;
  resize: none!important;
  background: #fff;
  outline: 0;
  color: #292F33 !important;
  font-size: 20px !important;
  box-sizing: border-box;
  overflow: hidden;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="BgChanger">Change Textarea Bg</div>
<textarea class="main_textarea"></textarea>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

触发onclick事件无法正常工作

在IE8中无法正常工作的元素上触发点击事件

离子中的角度动画,键盘事件触发无法正常工作

jQuery Mobile Phonegap Cordova事件无法正常工作并触发

调用vuejs方法的jQuery全局keypress事件方法无法正常工作。为什么?

colspan for textarea无法正常工作

jQuery在删除无法正常工作的父节点上触发empty()

notifyDataSetChanged()无法正常工作或被触发?

Jquery-resize() 上的单击事件无法正常工作

DOM 元素上的 jQuery 事件无法正常工作

事件功能无法正常工作

setOnKeyPressed事件无法正常工作

React OnMouseDown事件无法正常工作,而OnMouseUp可以正常工作。(在SVG元素上)

在jQuery中的textarea上触发更改事件

ZKEmkeeper:事件未触发,DLL看起来无法正常工作

laravel 5.3 textarea无法正常工作

Textarea剩余字符无法正常工作

Textarea换行符无法正常工作

检查textarea无法正常工作的PHP

MySQL触发器无法正常工作

从URL触发reloadGrid无法正常工作

MySQL 触发器无法正常工作

Native-Base Picker在Android上无法正常工作-不会触发onValueChange函数

在Chrome上触发('click')后,event.target无法正常工作

尝试在 webhook 触发后在服务器上运行 git pull,无法正常工作

Mousedown事件在Firefox中无法正常工作

Highchart事件LOAD无法正常工作

角度单击事件绑定无法正常工作

无法使骨干事件正常工作