input+select输入汉字或拼音快速选择数据第5步 获取控件座标等
所属栏目:
DHTML
时间:2010-11-30 13:52
作者:狼子
先记录获取控件座标,下面还要大改。。。
//显示select
function ShowSelect(obj)
{
//取当前input座标
var oRect = obj.getBoundingClientRect();
var x, y;
x = oRect.left;
y = oRect.top + 24;
wordSelectDivObj.style.left = x + "px";
wordSelectDivObj.style.top = y + "px";
if(wordSelectDivObj.style.display == "none") wordSelectDivObj.style.display = "block";
}
还有这个,我想把事件的添加设置成先判断是否是fucntion的,就是,按这个设置后,原来写在ascx页面里的onclick事件还是被这个新的事件覆盖了,oldEvent好像没有加进去一样子,原因还没找到。。。
//给input添加onclick显示select,防止用户用箭头和回车选择一项后,重新点击鼠标要显示select再次选择
myForm.elements[i].onclick = function() { ShowSelect(this); }
//oldEvent = myForm.elements[i].onclick;
//if(typeof oldEvent != 'function') { myForm.elements[i].onclick = function() { ShowSelect(this); } }
//else myForm.elements[i].onclick = function() { oldEvent(); alert("OK"); ShowSelect(this); }
--------------------------------------------------------------
14:42 2010/11/30
现在还有一个问题,我在点击select的时候,点哪都直接执行onclick事件中的隐藏方法了
//点击select选择一项时,设置这一项的值到input
function SetInputValue()
{
//获取当前激活的input控件
var nowInputIndex = GetNowInputIndex();
//设置选择项
if(wordSelectObj.selectedIndex != -1)
{
wordInputArray[nowInputIndex].value = wordSelectObj.options[wordSelectObj.selectedIndex].text;
wordValueArray[nowInputIndex].value = wordSelectObj.options[wordSelectObj.selectedIndex].value;
wordSelectDivObj.style.display = "none";
}
}
我需要在点击滚动条时,不执行这些语句,怎么判断点击的是滚动条呢?