我在页面上有一个Google建议实用程序。它会自动在一个输入类型文本框中填充一个值。在IE中,值被填充后。它不允许鼠标在其间单击,并且Curor始终跳至结尾。同样使用向左和向右键,光标也会跳到开头。是什么原因

谢谢

<div id='input-div' class='inputblock'>
<form action="javascript:void(0);" name="GetVal">
<table>
<tr>
<td>
<div>
<input id="starttextbox" class="big" onclick="textboxClick(this)"   onblur="textboxBlur(this)" onkeyup="javascript:check_place(this)" type="text" name="start" autocomplete="off"/>
</div>
<div id='suggestdividstart' class='suggestDivClass'></div>
</td>
<td style='cursor:pointer' ><img style='display:none;' id='swaptd' style='cursor:pointer' src='images/swap.png' width='20' height='20' onclick='swaproute();return false;' title='click for reverse route'/>
</td>
<td>
<div>
<input id="endtextbox" class="smallhidden" onclick="textboxClick(this)"  onblur="textboxBlur(this)" onkeyup="javascript:check_place(this)" type="text" name="end" autocomplete="off" />
</div>
<div id='suggestdividend' class='suggestDivClass'></div>
</td><td>
<img  name="GoVid" id="GoVid" onclick="alert('Loading plz. wait')" src='images/locate.gif' tabindex='0' style='cursor:pointer' class="vidteq" value="Locate"  href="javascript:void(0);"/>
</td></tr>
</table>
<div class="help" id="helpdiv"></div>
</form>
</div>


javascript的作用是:

if(whichBox=='start') {
//clearSuggestDiv('start');
document.GetVal.start.value=place_selected_name;
}
else {
//clearSuggestDiv('end');
document.GetVal.end.value=place_selected_name;
}

最佳答案

是什么原因


textboxClick()每次单击都会写入input.value。您写入该值,您会丢失光标位置。因此,请尽可能少地写入.value,除非您能够正确地处理跨浏览器的游标,否则我怀疑此页面上其余脚本的质量来判断。

09-29 22:56