如何触发此事件?

时间:2009-07-09 01:44:10

标签: javascript-events

我有两个密码输入,每个都是通过密码键盘输入的,但没有键盘输入。键盘是一个3×3的表,按钮1到9。

当客户端鼠标光标离开键盘表时,如何触发事件?

我想要做的是,如果用户点击某些内容然后离开键盘,验证并确认密码输入。

我尝试将onmouseout和div包装器添加到表中,但这不是我预期的,因为当光标悬停在按钮上时,事件将触发。

<table onmouseout="ValidatorEnable()">

感谢。

2 个答案:

答案 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()。最好的祝福!