0

2つのパスワード入力があり、それぞれがパスワードキーパッドで入力されますが、キーボード入力はありません。キーパッドは、ボタン1〜9を備えた3x3のテーブルです。

クライアントのマウスカーソルがキーパッドテーブルを離れたときにイベントをトリガーするにはどうすればよいですか?

私がやりたいのは、ユーザーが何かをクリックしてからキーパッドを離れ、パスワード入力を検証して確認することです。

onmouseoutとdivラッパーをテーブルに追加しようとしましたが、カーソルをボタンの上に置くとイベントが発生するため、期待したものではありませんでした。

<table onmouseout="ValidatorEnable()">

ありがとう。

4

2 に答える 2

1

これについては、いくつかの作業を行う必要があります。まず、ドキュメントの準備完了イベントで、キーパッドを含むテーブルまたは div のサイズと位置を取得します。次に、そのコンテナのマウスアウトイベントで、現在のカーソルがコンテナの境界外にあるかどうかを確認します。

<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:- Firebug を使用して FF 3.5 でテストしました。クロームが壊れた!

于 2009-07-09T02:34:22.780 に答える
0

通常のように、開発者はテーブルのマウスアウト時に入力を検証しませんが、入力のオンブラー、またはボタンをクリックしたときにValidatorEnable()を起動できます。

于 2009-07-09T02:16:51.540 に答える