<input onmouseover="sel(this,4)" value="abcdefghijklmnopqrst"><script language=javascript> function sel(obj,num) { var rng=obj.createTextRange() var sel = rng.duplicate(); sel.moveStart("character", num); sel.setEndPoint("EndToStart", rng); sel.select(); } </script>
meizz(梅花雨) 能不能对这段代码稍微解释一下?
我来解释吧,省得劳烦梅大侠:鼠标移至时调用函数:sel(this,4) function sel(obj,num) { var rng=obj.createTextRange() //创建当前HTML元素的TextRange对象(文本内容对象) var sel = rng.duplicate(); //创建TextRange的副本 sel.moveStart("character", num); //副本的开始位置移动四个字符(副本值变为"fghijklmnopqrst") sel.setEndPoint("EndToStart", rng);//设置副本的结束位置为TextRange的开始位置(副本值变为"abcd") sel.select(); //副本被选中 }呵呵,谢谢Meizz。这一段脚本可能比较费解的是sel.setEndPoint这一句,其end移到start的前面了。也可移动第一个TextRange对象的end到副本的start: function sel(obj,num) { var rng=obj.createTextRange() //创建当前HTML元素的TextRange对象(文本内容对象) var sel = rng.duplicate(); //创建TextRange的副本 sel.moveStart("character", num); //副本的开始位置移动四个字符(副本值变为"fghijklmnopqrst") rng.setEndPoint("EndToStart", sel);//设置TextRange的结束位置为副本的开始位置(TextRange值变为"abcd") rng.select(); //TextRange被选中 }关于TextRange对象的用法,请参看MSDN: http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_textrange.asp?frame=true
function sel(obj,num)
{
var rng=obj.createTextRange()
var sel = rng.duplicate();
sel.moveStart("character", num);
sel.setEndPoint("EndToStart", rng);
sel.select();
}
</script>
能不能对这段代码稍微解释一下?
function sel(obj,num)
{
var rng=obj.createTextRange() //创建当前HTML元素的TextRange对象(文本内容对象)
var sel = rng.duplicate(); //创建TextRange的副本
sel.moveStart("character", num); //副本的开始位置移动四个字符(副本值变为"fghijklmnopqrst")
sel.setEndPoint("EndToStart", rng);//设置副本的结束位置为TextRange的开始位置(副本值变为"abcd")
sel.select(); //副本被选中
}呵呵,谢谢Meizz。这一段脚本可能比较费解的是sel.setEndPoint这一句,其end移到start的前面了。也可移动第一个TextRange对象的end到副本的start:
function sel(obj,num)
{
var rng=obj.createTextRange() //创建当前HTML元素的TextRange对象(文本内容对象)
var sel = rng.duplicate(); //创建TextRange的副本
sel.moveStart("character", num); //副本的开始位置移动四个字符(副本值变为"fghijklmnopqrst")
rng.setEndPoint("EndToStart", sel);//设置TextRange的结束位置为副本的开始位置(TextRange值变为"abcd")
rng.select(); //TextRange被选中
}关于TextRange对象的用法,请参看MSDN:
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_textrange.asp?frame=true