我有一个jquery if语句导致不必要的回调。这是相关代码:
JQuery的:
function test() {
if ($('#' + '<%= tbNewRecipient.ClientID%>').val().length() < 1) {
//TODO: add stuff
}
return false;
}
ASPX:
<asp:Button ID="btnAddRecipient" runat="server" Text="+" ToolTip="Add Recipient" CssClass="narrow_button" UseUbmitBehaviour="false" CausesValidation="false" OnClientClick="return test();"/>
<div id="divAddRecipient" style=" color:black; display:inline;" runat="server">
<asp:TextBox ID="tbNewRecipient" runat="server" Visible="true"></asp:TextBox>
</div>
这会导致不必要的回调。当我刚刚使用这个简单的警报窗口时,它没有回调:
function test() {
alert($('#' + '<%= tbNewRecipient.ClientID%>').val());
return false;
}
为什么我会收到回叫,我该如何避免?
答案 0 :(得分:2)
不是.length()
,只是.length
。那会给你带来麻烦。
$('#' + '<%= tbNewRecipient.ClientID%>').val().length
// -------------------------------------------------^
当您使用.length()
(它不是对象的属性或方法)时,会抛出错误,导致return false
无法执行。所以它导致回调!
注意: .length
是属性,而不是方法。希望得到答案!