我有两个密码输入,每个都是通过密码键盘输入的,但没有键盘输入。键盘是一个3×3的表,按钮1到9。
当客户端鼠标光标离开键盘表时,如何触发事件?
我想要做的是,如果用户点击某些内容然后离开键盘,验证并确认密码输入。
我尝试将onmouseout和div包装器添加到表中,但这不是我预期的,因为当光标悬停在按钮上时,事件将触发。
<table onmouseout="ValidatorEnable()">
感谢。
答案 0 :(得分:1)
你需要做一些工作。首先,在文件的准备事件中获取包含键盘的表或div的大小和位置。然后在该容器上的mouseout事件中检查当前光标是否超出容器的边界。
<script type="text/javascript">
var tp=0;//top
var lft=0;//left
var rht=0;//right
var bot=0;//bottom
function CheckBounds(x,y){
return (x < tp || y < lft) || (x > rht || y > bot);
}
</script>
<script type="text/javascript">
$(document).ready(function(){
tp=$("#tbl").position().top;
lft=$("#tbl").position().left;
rht=$("#tbl").width() + lft;
bot=$("#tbl").height() + tp;
$("#tbl").mouseout(function(e){
if(CheckBounds(e.pageX, e.pageY)){
//DO Validation here
}
});
}):
</script>
PS: - 我在FF 3.5中用firebug进行了测试。 Chrome崩溃了!
答案 1 :(得分:0)
通常情况下,开发人员在onmouseout表时不会验证输入,但是输入的onblur或者当你单击按钮时可以触发ValidatorEnable()。最好的祝福!