1

私はこのようなテキストと送信ボタンを備えたシンプルなフォームを持っています

<label>Input something </label>
<input type="text" id="TextId" value="Whatever you input,it is wrong" />
 <div id="ErrorDiv"></div>
 <input type="submit" id="SubmitButton""/>


ErrorDivでマルチラインメッセージを表示するために、テキストボックスにフォーカスアウトイベントを添付します。
ボタンの送信をクリックすると、テキストのonfocusoutが最初に実行され、ボタンがその位置から移動します。Onclickイベントは発生しません。
フィドルリンク
誰でも私にそれがどのように起こるのか、そしてどのようにそれを修正する のかを説明することができます
ありがとう。

4

1 に答える 1

1

ぼかしイベントは、クリックイベントの前に発生します。これは、マウスボタンを離した後にクリックイベントが発生するために発生します。これを機能させる最も簡単な方法は、クリックイベントではなく、マウスダウンイベントにアラートを表示することです。

たとえば、これを使用します

    $("#SubmitButton").live("mousedown", function() {
        alert("button click!");
    });

上記の変更は、OS XのChromeで機能しましたが、これについてはいくつかの論争があることに注意してください。より良い解決策は、検証メッセージが送信ボタンを押し出さないように要素を再配置することです。

于 2012-11-11T02:19:22.567 に答える