/**
* @author 全冠清
*/
$.fn.extend({
position:function( value ){
var elem = this[0];
if (elem&&(elem.tagName=="TEXTAREA"||elem.type.toLowerCase()=="text")) {
if($.browser.msie){
var rng;
if(elem.tagName == "TEXTAREA"){
rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
}else{
rng = document.selection.createRange();
}
if( value === undefined ){
rng.moveStart("character",-event.srcElement.value.length);
return rng.text.length;
}else if(typeof value === "number" ){
var index=this.position();
index>value?( rng.moveEnd("character",value-index)):(rng.moveStart("character",value-index))
rng.select();
}
}else{
if( value === undefined ){
return elem.selectionStart;
}else if(typeof value === "number" ){
elem.selectionEnd = value;
elem.selectionStart = value;
}
}
}else{
if( value === undefined )
return undefined;
}
}
})
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试</title>
</head>
<script language="JavaScript" type="text/javascript" src="jquery-1.3.1.min.js"></script>
<script language="JavaScript" type="text/javascript" src="jquery-position.js"></script>
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$('input:eq(0)').click(function(){
alert($(this).position());
})
$('input:eq(1)').click(function(){
$(this).position(4);
})
})
</script>
<body>
<input type="text" value="123456789"/>
<input type="text" value="123456789"/>
</body>
</html>
全冠清 写道
$.fn.selectRange = function(start, end){
return this.each(function(){
if (this.setSelectionRange) {
this.focus();
this.setSelectionRange(start, end);
}
else
if (this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', end);
range.moveStart('character', start);
range.select();
}
});
};
分享到:
- 2009-08-03 12:14
- 浏览 6747
- 评论(9)
- 论坛回复 / 浏览 (7 / 9941)
- 查看更多
相关推荐
"jQuery获取和设置文本框光标"这个主题是关于如何利用jQuery来控制HTML输入元素(如文本框)中的光标位置以及选定文本的操作。这在创建富文本编辑器、自定义表单组件或实现某些特殊交互时非常有用。 首先,让我们...
本主题聚焦于一个特定的jQuery插件,该插件允许开发者在文本框(`<input type="text">`)和文本域(`<textarea>`)中于光标位置插入代码或内容。这对于编辑器、代码编辑器或任何需要动态插入文本的场景来说是非常...
在jQuery中,没有直接的方法来获取或设置光标位置,但我们可以利用JavaScript的原生方法。以下是一些关键的JavaScript函数,用于处理光标位置: 1. **获取光标位置**: 要获取光标在文本框中的位置,可以使用`...
1. **获取光标位置**:首先,插件需要获取当前光标在文本框或文本区域内的位置。这可以通过JavaScript的`selection`对象或者`range`对象来实现。在jQuery中,可以结合`$.fn.extend`扩展jQuery的功能,创建一个新的...
### 关于jQuery文本框与文本域长度验证的函数库 #### 概述 在Web开发过程中,表单验证是确保用户输入数据准确性的重要步骤之一。虽然jQuery已经提供了一个强大的`validate`插件来帮助开发者实现表单验证,但是该...
`setSelectionRange`是现代浏览器支持的一个方法,允许我们在输入框中设置光标位置和选择范围。 对于不支持`setSelectionRange`的浏览器,如较旧版本的Internet Explorer,我们使用`select`方法来选中整个文本。`...
为了支持Unicode字符,开发者可能还会利用`document.selection`或`window.getSelection()`来获取和设置用户的输入焦点位置。 此外,“jquery特效”和“jquery插件”标签暗示了可能存在的扩展功能。jQuery库有许多...
标题中的“文本框插入表情Jquery插件”指的是在网页中的输入框(通常是文本框或者文本区域)中实现插入和显示表情的功能。这种功能常见于社交媒体、论坛和聊天应用,可以增强用户交互体验,使表达情感更为丰富。...
文章通过三种方法实现获取和设置文本框光标位置,下面将详细解释这些方法的工作原理和使用方法。 首先,需要了解在HTML中,文本输入框(input)和文本区域(textarea)是允许用户输入文本的两种表单元素。在...
不同的浏览器提供了不同的方法来获取和设置光标位置,本插件兼容了 Internet Explorer 和 Firefox(基于标准的实现)。 - **在 Internet Explorer 中**,使用 `document.selection.createRange()` 方法来获取当前...
5. 处理用户交互:监听用户在表情面板上的操作,当选择某个表情时,将其插入到当前光标位置。 在实际应用中,开发者可以根据需求对插件进行定制,比如调整表情面板的样式、设置表情的快捷码、增加自定义表情等。...
本文通过判断浏览器类型和版本,使用不同的方法获取和设置光标位置。 5. 文本操作:在textarea中插入文本时,需要对现有文本进行截取和拼接操作。这需要使用JavaScript字符串的相关方法,如substring()、length等。...
在本篇文档中,我们主要讨论了使用jQuery实现光标位置插入内容的方法,该方法涉及到了jQuery功能的扩展技巧,对于需要在Web页面上实现这一功能的开发者来说具有一定的参考价值。 首先,文中提到了jQuery本身的一些...
如果存在这些属性,它会获取光标位置,插入内容,然后重新设置光标位置。最后,如果浏览器既不支持`document.selection`也不支持`selectionStart/selectionEnd`,则简单地在输入框末尾添加内容。 使用这个插件的...
这可能是一个示例,展示了如何使用jQuery来监控文本框(input元素)的焦点状态,即当用户将光标放入文本框(获得焦点)或移出文本框(失去焦点)时,如何改变其外观或行为。在网页设计中,这种功能常见于表单元素,...
`skylark-jquery-caret`插件正是为了解决这个问题而诞生的,它提供了丰富的API,使开发者能够方便地获取和设置文本框的光标位置,甚至可以进行更复杂的操作,如移动插入符、插入文本等。 Skylark.js是一个轻量级的...
这个插件与jQuery协作,负责管理和渲染表情列表,以及将选中的表情插入到当前光标位置。 在【压缩包子文件的文件名称列表】中,"biaoqing"可能是表情图片或者数据文件的目录,包含了所有可用的表情图像。这些图片...
- 使用原生JS获取光标位置时,需要用到window.getSelection()方法来获取当前选中的文本范围(Range对象),然后通过range.startOffset属性可以得知光标位置在选中的文本范围中的偏移量。 - 使用jQuery时,通常需要...
这通常涉及绑定一个点击事件处理器,该处理器调用我们的插件函数,将正确的HTML插入到编辑器的光标位置。 6. **测试和调试**:完成以上步骤后,需要在实际环境中测试新功能,确保它在各种浏览器和设备上都能正常...
`setSelection` 方法根据浏览器类型(主要是IE8及以下与非IE浏览器)选择不同的实现方式来设置光标位置。`focusEnd` 方法则直接将光标移动到文本框的末尾,如果文本框有值,它会计算出当前文本的长度并调用 `...