兼容 FF&IE 的替换鼠标选择文字方法

不多说,最近在做网页的时候用到了,顺便记录一下。这里可以看效果


<script type="text/javascript">

function changes(obj){

var TextIn=document.getElementById("textin");

if(TextIn.createTextRange){
	//ie兼容
	TextIn.focus();
	document.selection.createRange().duplicate().text=obj;
}else{
	//firefox兼容
	var iStart = TextIn.selectionStart;
	var iEnd = TextIn.selectionEnd;
	TextIn.value=TextIn.value.substring(0,iStart)+obj+TextIn.value.substring(iEnd,TextIn.value.length);
	endRange=iStart+obj.length;
	TextIn.setSelectionRange(endRange,endRange);
}
}

</script>
<textarea cols="40" id="textin">选中这里的文字,然后点change试试看。</textarea><input type="button" onclick="changes('文字被替换了!')" value="change" />

prototype.js的Ajax对象

我想prototype.js里的ajax对象肯定吸引了不少人,大量封装好的ajax逻辑的类,对于我们这些初学者使用ajax有很大的帮助。

以下用一个我的具体使用例子来解释:效果看这里

1. Ajax.Request

你可以这样创建它


var url = 'http://yoursever/your/your';
var pars = 'id=xxx';
var myAjax = new Ajax.Request(
                    url,
                    {method: 'get', parameters: pars, onComplete: yourfunction}
                    );

parameters表示你要传递的参数,比如id=xxx这些。XMLHttpRequest在HTTP请求期间的阶段分为:Loading, Loaded, Interactive, Complete。Ajax.Request对象在任何一个阶段都可以调用你自定义的方法,形式如onxxxxxxx:yourfunction,比如我们上面提到的onComplete,是最常用的。

例子中实际使用的代码


function sends(id)
{
    c = $('content');
    o = $('old-content');
    c.innerHTML = "
载入中...
"; o.innerHTML = c.innerHTML; c.style.display = 'none'; o.style.display = 'block'; var myAjax = new Ajax.Request('content_'+ id + '.html', {method: 'get', onComplete:updates}); } function updates(response) { new Effect.Fade($('old-content')); new Effect.Appear($('content')); $('content').innerHTML = response.responseText; }
  • 1