私はAjaxの問題を抱えています。
onblur()
入力フィールドがあり、イベントで変更された値を送信したい。刺激的なちらつきがあることを除いて、すべて正常に機能します。
新しい値を入力してクリックします。値が新しい値に変わる前に、古い値がフラッシュバックします...
これが私がやっている方法です。onblur
入力要素に関数を追加します。
onblurevent = function()
{
HN.Gui.HTML.post(bindingpage, bindingref, this.value);
};
HN.Util.addEvent(elem, "blur", onblurevent);
イベントは util 関数にバインドされています。
HN.Util.addEvent = function(obj, type, fn)
{
if ( obj.attachEvent ) {
obj['e'+type+fn] = fn;
obj[type+fn] = function(){obj['e'+type+fn]( window.event );};
obj.attachEvent( 'on'+type, obj[type+fn] );
} else
obj.addEventListener( type, fn, false );
};
そして、起動時に jQuery 投稿をトリガーします。
HN.Gui.HTML.post = function(page, ref, value)
{
var json = (value == "")
? {clear: "contents"}
: {set: {formula: value}};
var url = page + ref + "?attr";
$.post(url, JSON.stringify(json));
};
それはすべて非常に簡単です。