From 29bb3951044d66291eb90ec1d79d3348dfb34974 Mon Sep 17 00:00:00 2001 From: qincheng Date: Thu, 30 Oct 2014 23:24:28 +0800 Subject: [PATCH] =?UTF-8?q?ms-duplex-changed=E6=B7=BB=E5=8A=A0=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E4=B8=AA=E5=8F=82=E6=95=B0data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- avalon.js | 18 +++++++++--------- avalon.modern.js | 22 +++++++++++----------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/avalon.js b/avalon.js index ae5bb7654..718d0d6bb 100644 --- a/avalon.js +++ b/avalon.js @@ -3364,7 +3364,7 @@ function callback(value) { firstTigger = true - data.changed.call(this, value) + data.changed.call(this, value, data) } function compositionStart() { composing = true @@ -3377,10 +3377,10 @@ if (composing)//处理中文输入法在minlengh下引发的BUG return var val = element.oldValue = element.value //防止递归调用形成死循环 - var typedVal = pipe(val, data, "get") //尝式转换为正确的格式 + var lastValue = pipe(val, data, "get") //尝式转换为正确的格式 if ($elem.data("duplex-observe") !== false) { - evaluator(typedVal) - callback.call(element, typedVal) + evaluator(lastValue) + callback.call(element, lastValue, data) if ($elem.data("duplex-focus")) { avalon.nextTick(function() { element.focus() @@ -3402,9 +3402,9 @@ updateVModel = function() { if ($elem.data("duplex-observe") !== false) { var val = element.value - var typedValue = pipe(val, data, "get") - evaluator(typedValue) - callback.call(element, typedValue) + var lastValue = pipe(val, data, "get") + evaluator(lastValue) + callback.call(element, lastValue) } } data.handler = function() { @@ -3567,7 +3567,7 @@ if (val + "" !== element.oldValue) { evaluator(val) } - data.changed.call(element, val) + data.changed.call(element, val, data) } } data.handler = function() { @@ -3597,7 +3597,7 @@ clearInterval(id) //先等到select里的option元素被扫描后,才根据model设置selected属性 registerSubscriber(data) - data.changed.call(element, evaluator()) + data.changed.call(element, evaluator(), data) } else { innerHTML = currHTML } diff --git a/avalon.modern.js b/avalon.modern.js index 9a3310977..adaf0402a 100644 --- a/avalon.modern.js +++ b/avalon.modern.js @@ -2656,7 +2656,7 @@ composing = false function callback(value) { firstTigger = true - data.changed.call(this, value) + data.changed.call(this, value, data) } function compositionStart() { composing = true @@ -2669,10 +2669,10 @@ if (composing)//处理中文输入法在minlengh下引发的BUG return var val = element.oldValue = element.value //防止递归调用形成死循环 - var typedVal = getTypedValue(data, val) //尝式转换为正确的格式 + var lastValue = getTypedValue(data, val) //尝式转换为正确的格式 if ($elem.data("duplex-observe") !== false) { - evaluator(typedVal) - callback.call(element, typedVal) + evaluator(lastValue) + callback.call(element, lastValue, data) if ($elem.data("duplex-focus")) { avalon.nextTick(function() { element.focus() @@ -2691,9 +2691,9 @@ if (data.isChecked || element.type === "radio") { updateVModel = function() { if ($elem.data("duplex-observe") !== false) { - var typedValue = pipe(element.value, data, "get") - evaluator(typedValue) - callback.call(element, typedValue) + var lastValue = pipe(element.value, data, "get") + evaluator(lastValue) + callback.call(element, lastValue) } } data.handler = function() { @@ -2701,7 +2701,7 @@ var checked = data.isChecked ? !!val : val + "" === element.value element.checked = element.oldValue = checked } - bound(element.type === "checkbox" ? "change" : "click", updateVModel) + bound("click", updateVModel) } else if (type === "checkbox") { updateVModel = function() { if ($elem.data("duplex-observe") !== false) { @@ -2711,8 +2711,8 @@ log("ms-duplex应用于checkbox上要对应一个数组") array = [array] } - var typedValue = pipe(element.value, data, "get") - avalon.Array[method](array, typedValue) + var lastValue = pipe(element.value, data, "get") + avalon.Array[method](array, lastValue) callback.call(element, array) } } @@ -2902,7 +2902,7 @@ if (val + "" !== element.oldValue) { evaluator(val) } - data.changed.call(element, val) + data.changed.call(element, val, data) } } data.handler = function() {