如何使用JQuery在blur()上调用此函数?

时间:2011-04-26 12:19:52

标签: javascript jquery

我有这个功能,见下文:

function checkStartPrice (){
    if ($('#StartingPrice')[0].value.length == 0){
        alert("The 'Starting Price' cannot be left empty!");
        return false;
     } else {
        var BuyItNowPrice = parseFloat($('#BuyItNowPrice').val());
        var StartingPrice = parseFloat($('#StartingPrice').val());
        var Reserve = parseFloat($('#Reserve').val());
        if((BuyItNowPrice <= StartingPrice) && (StartingPrice > 0)){
            alert("The 'Buy It Now' price must be higher...");
            return false;
        }
        if((Reserve <= StartingPrice) && (StartingPrice > 0)){
            alert("Your 'Reserve Price' must be higher...");
            return false;
        }
        return true;
    }
}

问题:如何在模糊时调用它?我在下面尝试了这个代码,但它似乎不起作用:

$('#StartingPrice').blur(function(){
    checkStartPrice();
});

1 个答案:

答案 0 :(得分:2)

这是调用它的正确方法 它可能失败的唯一原因是.blur()调用时#StartingPrice元素不存在。

如果它出现在页面中,请使用:

$(document).ready(function() {
    $('#StartingPrice').blur(checkStartPrice)
})

如果是通过AJAX动态添加的,请使用:

$(document).ready(function() {
    $('#StartingPrice').live('blur',checkStartPrice)
})

请注意,第二个解决方案至少需要jQuery 1.4.1