js仿QQ邮箱收件人,怎么做到多个联想输入。可以模糊第一个选中后,继续搜索模糊第二个

JavaScript04

js仿QQ邮箱收件人,怎么做到多个联想输入。可以模糊第一个选中后,继续搜索模糊第二个,第1张

試試這個: <mce:script type="text/javascript"><!-- function getAreaRange(obj) { var pos = new Object() obj.focus()var range = document.selection.createRange()range.moveStart("word",-1)range.moveEnd( "word", 1 )if(range.text.substring(0,1)=="")range.moveStart( "character", 1 )if(range.text.substring(range.text.length-1)=="")range.moveEnd( "character", -1 )range.select() } // --></mce:script><body><textarea id="text" onclick="getAreaRange(this)"><mce:script type="text/javascript"><!-- function getAreaRange(obj) { var pos = new Object()var cloneif (isIE) { obj.focus()var range = document.selection.createRange()clone = range.duplicate()clone.moveToElementText(obj)clone.setEndPoint( 'EndToEnd', range )pos.start = clone.text.length - range.text.lengthpos.end = clone.text.length - range.text.length + range.text.length}else if(window.getSelection()) { pos.start = obj.selectionStartpos.end = obj.selectionEnd} var ed=obj.value.indexOf("",pos.start)var st=obj.value.substring(0,ed).lastIndexOf("")+1 if (isIE) { clone.moveStart("character",st)clone.moveEnd( "character", ed-pos.end )clone.select()}else if(window.getSelection()) { obj.selectionStart=stobj.selectionEnd=ed} } var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0)// --></mce:script><body><textarea id="text" onclick="getAreaRange(this)">

可以的~但是代码我就不给你写了~太费劲,给你提供一个思路吧。

大致上就是实时监控输入框中的文字,然后有变化的时候就获取内容,并且传到PHP或者别的文件中去,然后用后台脚本语言查询数据库,把对应的词查出来,然后再返回给前端,读取出来~我知道一个叫backbone.js的框架可以轻松实现这种功能~如果自己写的话可能也不会太久~