【问题标题】:Can't clear textarea once Text has changed in Firefox and Chrome在 Firefox 和 Chrome 中更改文本后无法清除 textarea
【发布时间】:2012-12-17 20:50:29
【问题描述】:

简单用例: Textarea和Button,当按钮被点击时,Textarea中的文字会发生变化。

示例: JS

$('button').click(function(){
    $('#t1').text('test');
});

HTML:

<textarea id="t1" cols="10" rows="5"></textarea><button>Clear</button>

Fiddler example

但是,当我更改按钮然后单击按钮时,Chrome 和 Firefeox 中的文本不会更改(在 IE10 中它可以正常工作)。 (在最新版本的 Chrome 和 Firefox 中测试)

当我调试它并检查 textarea 的文本时,它会显示正确的值。

这是浏览器错误、jQuery 错误还是我遗漏了什么?

【问题讨论】:

  • 使用 .val('works') 代替,请参阅工作小提琴:jsfiddle.net/uQ825/1
  • 谢谢,但是为什么文本第一次工作,然后就失败了?

标签: jquery google-chrome firefox textarea


【解决方案1】:

textarea 元素有一个值,所以使用val('') 来设置它,像这样:

$('button').click(function(){
    $('#t1').val('test');
});

Example fiddle

【讨论】:

  • 谢谢,解决了,但是为什么文本第一次工作,然后就失败了?
  • 我想这与浏览器在页面初始化时获取文本区域内的文本的内部方法有关。
  • 设置文本设置textarea的默认值。设置表单控件的默认值只会在值从未从默认值更改开始时更改值。这就是为什么您在编辑文本之前看到它有效,但之后却没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-04
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多