jqlite更改事件无法按预期工作

时间:2013-07-02 11:15:44

标签: angularjs angularjs-directive

我已经创建了一个指令来验证来自服务器的数据

在我的指令的链接函数中,我抓住元素并将更改事件附加到它作为休耕   返回函数(范围,元素){

    element.bind("change", function () {
      //  element.attr('readonly',true);
       //console.log(element.val());
        var promise = orderData.vaidateBP(element.val());

       // console.log(promise);

        promise.then(
            function (data) {
                console.log(data.value);
                element.attr('readonly',false);
                scope.SoHeader.soldBP=data.value},
                function (response) {
                    console.log(response);
                }


            );
        //console.log(scope.SoHeader.soldBP);

    })
}

我在orderData上调用服务方法vaidateBP,它对服务器进行了一次静默调用 但我发现ajax呼叫只是每隔一次发出,即 假设文本框最初是黑色的,我将其值更改为" test"和标签 没有进行ajax调用,但是如果我专注于文本框并尝试在输入的第一个字符处键入任何内容,则触发ajax调用,依此类推,因此ajax调用仅每秒触发一次

1 个答案:

答案 0 :(得分:0)

得到了解决方案, 将回调事件放在范围内。$ apply可以解决问题!