Javascript if语句导致回调

Javascript if语句导致回调,javascript,jquery,asp.net,callback,Javascript,Jquery,Asp.net,Callback,我有一个jqueryif语句,它会导致不需要的回调。下面是有问题的代码: JQuery: function test() { if ($('#' + '<%= tbNewRecipient.ClientID%>').val().length() < 1) { //TODO: add stuff } return false; } 功能测试(){ if($('#'+'').val().length()

我有一个jqueryif语句,它会导致不需要的回调。下面是有问题的代码:

JQuery:

function test() {
    if ($('#' + '<%= tbNewRecipient.ClientID%>').val().length() < 1) {
        //TODO: add stuff
    }
    return false;
}
功能测试(){
if($('#'+'').val().length()<1){
//TODO:添加内容
}
返回false;
}
ASPX:


这将导致不必要的回调。当我刚刚使用这个简单的警报窗口时,它在没有回调的情况下工作:

function test() {
    alert($('#' + '<%= tbNewRecipient.ClientID%>').val());
    return false;
}
功能测试(){
警报($('#'+'').val();
返回false;
}
我为什么会收到回调?我如何避免它?

它不是
.length()
,而是
.length
。这给你带来了麻烦

$('#' + '<%= tbNewRecipient.ClientID%>').val().length
// -------------------------------------------------^
$('#'+'').val().length
// -------------------------------------------------^
当您使用不是对象的属性或方法的
.length()
时,它会抛出一个错误,使
返回false
不执行。所以它会导致回调


注意:长度
是一个属性,而不是一个方法。希望你能回答

长度不需要括号。只要
.length
@JqueryKing哇,这就解决了问题。谢谢您知道为什么未使用
.length
导致回调吗?我很好奇=)看看@JqueryKing并不会强迫你在jQueryAPI中显示它。您也可以指定MDN:
$('#' + '<%= tbNewRecipient.ClientID%>').val().length
// -------------------------------------------------^