javascript实现当mouseover弹出层后,将鼠标定位到该层上

枕戈待旦勇往直前 2015-08-07 06:51:18
问题如题目所示,如下图:

问题细节描述:
1.当鼠标移动到“违法原因”右侧的input后触发其onmouseover事件弹出层(id为:showReason),层里显示的是文本框内的内容。我在层showReason上添加了onmouseout事件来关闭层(因为层中内容多时会有下拉框可以用鼠标上下拖动,所以关闭层的onmouseout事件不能放在input上,否则鼠标将不能移动到层上进行拖动)。 

现在的问题是: 当鼠标触发弹出层后,如果接下来鼠标没有移动到层上的操作,该层将一直显示。我想要的效果是:如果鼠标触发弹出层后可以通过JS方法将将鼠标定位到弹出层上,这样可以保证客户鼠标离开层时触发onmouseout事件来将弹出层关闭。

input的onmouseover事件如:onmouseover="showInfo(event,'showReason',reasonSel);"

showReason  弹出层ID
reasonSel 文本框的内容
JS函数如下:





function showInfo(event,divID,selValue){
if(selValue!=""){
//根据页面情况设置鼠标坐标
var x = 654;
var y = 510;
//设置浮动框离鼠标的偏移量;
var offset = 10;
var obj=document.getElementById(divID);
obj.className="tooltip_con";
obj.style.left = x + offset + "px";
obj.style.top = y + offset + "px";
obj.style.width = 341;
obj.style.height = 180;
obj.style.overflow = "scroll";
obj.style.display ="block";
obj.innerHTML = selValue;
obj.focus(); //用该句及下面一句想使鼠标定位到层上失败,错误提示如下图
// document.getElementById("showReason").focus().select();
}
}



两句都提示 .socus()为空或不是对象。我把这个函数放到页面最后也不行

求指点
...全文
561 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
浏览器无法通过JS改变鼠标定位。你要换个思路。 比如,让弹出层出现在时盖在input的上方
有道理
天际的海浪 2015-08-07
  • 打赏
  • 举报
回复
浏览器无法通过JS改变鼠标定位。你要换个思路。 比如,让弹出层出现在时盖在input的上方

87,838

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧