在jQuery点击事件

时间:2018-03-30 21:06:52

标签: jquery

 $('[datakey=PhoneMobile').blur(function() {
        UniquePhoneService.ValidateUniquePhoneNumber($('[datakey=PhoneMobile]').val(), $('[datakey=accounttype]').val(), $('#FocusAccountCountry').val(), $('[datakey=enrollingaccountcode]').val(), function(result) {
            var $element = $('[datakey=PhoneMobile]').siblings('span.unique-phone-error');
            if (!result) {
                $element.text('<%= GetResourceValue("CustomerInfo", "DuplicatePhoneNumber", "Text")%>');
                Page_IsValid = false;
            } else {
                $element.text('');
                Page_IsValid === true ? Page_IsValid = true : Page_IsValid = false;
            }
        });
    });
});

我有一个表单,它有一个带blur()的文本框,这个调用是一个Web服务来验证某些数据,但当我点击OK时 按钮点击首先执行然后模糊,我想先执行模糊,我该怎么做?

2 个答案:

答案 0 :(得分:0)

你可以这样做,覆盖点击事件,然后再运行

$("#myTextBox").click(function(event)(){
    event.preventDefault();
    setTimeout(function(){ clicked(params) }, 500);//Run function after 500 ms
});

function clicked(params){
    //Run on click
}

答案 1 :(得分:0)

您可以在知道服务验证数据后提交表单,例如:

$('#ok').click(function(e){
    e.preventDefault();
});

 $('[datakey=PhoneMobile').blur(function() {
        UniquePhoneService.ValidateUniquePhoneNumber($('[datakey=PhoneMobile]').val(), $('[datakey=accounttype]').val(), $('#FocusAccountCountry').val(), $('[datakey=enrollingaccountcode]').val(), function(result) {
            var $element = $('[datakey=PhoneMobile]').siblings('span.unique-phone-error');
            var Page_IsValid = true;
            if (!result) {
                $element.text('<%= GetResourceValue("CustomerInfo", "DuplicatePhoneNumber", "Text")%>');
                Page_IsValid = false;
            } else {
                $element.text('');
                Page_IsValid === true ? Page_IsValid = true : Page_IsValid = false;
            }
            if(Page_IsValid)
                $('#form').submit();
        });
    });