[jquery]IE与Chrome下text()方法获取textarea值不一致
相同代码在IE与Chrome下获取变更的<textarea>值不相同,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<meta name="author" content="Jarg Yee <yeshaoting@gmail.com>" />
<script type="text/javascript" src="scripts/jquery-1.7.js"></script>
<script type="text/javascript">
$(bootstrap);
function bootstrap()
{
$("textarea").change(function()
{
var $text = $("textarea").text();
if($text != "")
alert($("textarea").text());
});
}
</script>
</head>
<body>
<textarea>你好</textarea>
</body>
</html>
对于这段代码,在IE中的效果是textarea域中的值发生修改时,弹出的提示显示修改后的值;而在Chrome中,则是原始<textarea>标签内的文本值。
text()方法类似于JavaScript中的innerText,用来获取当前标签元素包裹的纯文本内容。
由此可见,IE处理方法是将修改后的结果设置到<textarea></textarea>对内;而Chrome则不是这样处理。
val()方法是获得第一个匹配元素的当前值。
将上例中的text()换成val(),则IE与Chrome中显示的效果一致。
分享到:
相关推荐
本文将介绍如何在IE、Firefox和Chrome中获取div编辑框、textarea和input text光标位置的方法,并提供相应的代码示例。 首先,了解不同浏览器对于光标位置获取的支持情况是必要的。例如,IE浏览器使用了document....
- 对于IE浏览器,我们使用`document.selection`和`createRange()`方法获取当前的选区,并设置选区的文本为`myValue`: ```javascript if (document.selection) { this.focus(); sel = document.selection....
本主题聚焦于一个特定的jQuery插件,该插件允许开发者在文本框(`<input type="text">`)和文本域(`<textarea>`)中于光标位置插入代码或内容。这对于编辑器、代码编辑器或任何需要动态插入文本的场景来说是非常...
- **兼容性广泛**:jQuery Uniform支持大部分主流浏览器,包括Firefox、Chrome、Safari、Opera以及IE7及以上版本。 - **易用性**:只需一行jQuery代码,即可快速应用到整个表单。 - **响应式设计**:尽管在描述中未...
支持input type为 text,textarea,checkbox,radio,select,password,hidden的草稿自动保存 hidden的特殊性,因为hidden要手动触发change事件,当值改变的时候要 手动代码 .change() 触发一下才会保存相应的草稿 要实现...
这个函数首先通过jQuery选择器`$("#test")`获取`textarea`的值,然后使用`replace`方法查找所有`\n`字符,并将其替换为` `标签。处理后的文本通过`alert`弹窗显示,实际应用中你可以根据需求将其插入到DOM或其他...
示例代码中还包含了一些注释,解释了在特定DOCTYPE下,`<select>`元素的宽度可能与具有相同样式宽度的`<input type="text">`或`<textarea>`元素不一致。这个方法旨在解决这种不一致性,确保所有浏览器下`<select>`...
`selectionStart`和`selectionEnd`是现代浏览器(Firefox,Chrome,Safari,Opera)中`<textarea>`和`<input>`元素所支持的属性,它们分别表示选区的起始位置和结束位置。这两个属性可以帮助我们获取或设置用户在...
// 未指定插入文本框时,自动寻找同表单中第一个 textarea 或 input[type=text] 元素 $ ( selector ) . click ( function ( event ) { $ ( this ) . sinaEmotion ( ) ; event . stopPropagation
- `flag1` 判断:如果按下的是 Backspace 键,并且触发源是文本输入框(`password`、`text` 或 `textarea`),同时该输入框处于只读状态或被禁用,则返回 `false` 以阻止事件的默认行为。 - `flag2` 判断:如果按...
而`.index(this)`方法用于获取当前元素在集合中的位置,从而可以计算出下一个元素的位置。 ### 知识点七:HTML结构与***控件 示例中使用了***的`<asp:TextBox>`控件来创建输入框。这些控件被嵌入到HTML中,JQuery...
如果用户使用的是IE6,那么绑定一个点击事件到按钮上,获取textarea中的文本,使用IE6特有的`window.clipboardData.setData("Text", code)`方法将内容复制到剪贴板,并显示一个提示框告知用户复制成功。 对于非IE6...
这可能是由于IE浏览器对DOM(文档对象模型)事件处理或焦点管理的实现方式与标准浏览器有所不同的原因。 为了解决这个问题,开发者可能需要深入理解以下几个关键知识点: 1. **事件处理**:在JavaScript中,事件...
- 当用户完成编辑并提交时,需要从KindEditor获取富文本内容,通常是通过JavaScript获取`textarea`的值。 - 将获取到的内容与表单的其他数据一起发送到服务器进行处理。 KindEditor的灵活性和易用性使其成为各种...
- IE7首先比较绝对定位元素与最近的相对定位祖先元素的`z-index`值。 **解决方案**: - 给相对定位的祖先元素设置较高的`z-index`值。 #### 八、百分比布局bug IE7在处理百分比布局时可能会出现计算精度问题。 ...
使用这个插件的方法非常简单,只需要调用JQuery选择器并调用`insertAtCaret`方法,传入要插入的值即可,如下所示: ```javascript $("#yourTextareaOrInput").insertAtCaret("valueToBeInserted"); ``` 这里的`#...
在上述代码中,通过`e.which`属性获取了按下的键的键码,然后将其与回车键的键码13进行比较。如果按键确实是回车键,则会执行后续的逻辑。 知识点3:阻止默认行为 在Web应用中,某些事件会有一个默认的浏览器行为。...
然而,Bootstrap 3 默认并不支持较老的浏览器,特别是像IE8这样的浏览器,因为它们不支持CSS3的一些关键特性。为了确保在这些旧版本的浏览器中也能正常工作,开发者需要采取一些额外的措施。 首先,要确保Bootstrap...