0

公式ドキュメントによると、このイベントは次のとおりです。

値が変更された場合、フィールドがぼやけているときにトリガーされます。

さて、値が変更されたかどうかをどうやって知るのでしょうか?どこかに保管されていますか?そして私が尋ねる理由:私はその行動を再現できますか?

ありがとう

4

2 に答える 2

0

元の値を保存し、現在の値をぼかしの元の値と比較すると思います。

複製によってイベントをトリガーすることを意味する場合は、ここで読むことができます:http: //api.jquery.com/trigger/

于 2012-09-13T13:15:09.457 に答える
0

これはブラウザによって解決されます。onchangeイベントにハンドラーをアタッチすることにより、テキスト入力で変更された値をトリガーすることもできます。

<input onchange="alert('value changed!');" />

また、Javascriptでは:

document.getElementById("my_text_input").onchange = function(){
    alert("value changed!");
}

もちろん、この動作を再現することもできます。ここで自分で試すことができます。

[編集]
ユーザーがコントロールを離れるたびに発生するonblurイベントがあります。
入力値を追跡したり、変更イベントとぼかしイベントの両方にアクセスできるようにフラグを設定したりできます。

(function(){
    var changed = false;

    document.getElementById("my_text_input").onchange = function(){
        changed = true;
    }
    document.getElementById("my_text_input").onblur = function(){
        if (!changed) {
            //Your logic here
        }
        changed = false; //set it back to false for next loss of focus
    }
})();
于 2012-09-13T13:16:33.540 に答える