判断光标是否在某元素上可以在window监听onmouseenter(onmouseleave)或者onmouseover(onmouseout)给某变量赋值1(赋值0),那么变量为1则在元素上(0则不在元素上)
windowonmouseover = function () { isOn = 1};
windowonmouseout = function () { isOn = 0};
window中mouse相关事件补充:
onmousedown 鼠标按钮被按下 (和onmouseup组成了单击事件);
onmouseenter 当鼠标指针移动到元素上时触发 (只在进入后触发一次,不支持冒泡,子元素不触发);
onmouseleave 当鼠标指针移出元素时触发 (只在离开后触发一次,支持冒泡,子元素也可以触发);
onmousemove 鼠标被移动 (在元素内移动会一直触发);
onmouseover 鼠标移到某元素之上 (只在进入后触发一次,支持冒泡,子元素也可以触发);
onmouseout 鼠标从某元素移开 (只在离开后触发一次,支持冒泡,子元素也可以触发);
onmouseup 鼠标按键被松开;
js
documentgetElementById(id)focus();
例如
<input id="shan" type="text" onchange ="return gaib(thisid)"/>
function gaib(id) {
var oo=documentgetElementById(id);
if (oovalue == 3) {
alert('输入错误');
oofocus();
}
}
jquery
$("#"+id)focus();
例如
<input id="shan" type="text" onchange ="return gaib(thisid)"/>
function gaib(id) {
var oo=$("#"+id);
if (ooval() == 3) {
alert('输入错误');
oofocus();
}
}
<html>
<body>
<input type="text" value="三四五六七" id="in" onclick="javascript:addComma(this)" />
<script type="text/javascript">
function getCursortPosition (ctrl) {//获取光标位置函数
var CaretPos = 0; // IE Support
if (documentselection) {
ctrlfocus ();
var Sel = documentselectioncreateRange ();
SelmoveStart ('character', -ctrlvaluelength);
CaretPos = Seltextlength;
}
// Firefox support
else if (ctrlselectionStart || ctrlselectionStart == '0')
CaretPos = ctrlselectionStart;
return (CaretPos);
}
function addComma(obj){
pos = getCursortPosition(obj);
s = objvalue;
objvalue = ssubstring(0, pos)+","+ssubstring(pos);
}
</script>
</body>
</html>
以上就是关于js如何判断光标是否在某元素上全部的内容,包括:js如何判断光标是否在某元素上、js或jquery定位光标、求js高手解决:在文本框内的光标处 用js插入文本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)