我有一个脚本:
$(document).ready(function() { $('#userName').blur(function() { $.ajax({ url : 'GetUserServlet', data : { userName : $('#userName').val() }, success : function(responseText) { $('#ajaxGetUserServletResponse').text(responseText); } }); }); });
我通过这种方式变得更容易:
$(document).ready(function() { $('#userName').blur( getAjax() ); }); function getAjax() { $.ajax({ url : 'GetUserServlet', data : { userName : $('#userName').val() }, success : function(responseText) { $('#ajaxGetUserServletResponse').text(responseText); } }); };
生成的代码不起作用.为什么这种变换不相同?
您正在调用getAjax()
而不是将其作为函数引用传递.由于getAjax()
不返回任何值,您实际上是在调用:
$('#userName').blur( undefined );
要解决此问题,只需传递参考:
$('#userName').blur( getAjax );