ユーザー名の最大長は 18 であるterm.length>2 && term.length < 18
ため、私は ajax 呼び出しを行いません。
ex : testing for mentions : @name and now spaces!!! ;
これは私が使用しているjsコードです。
$("#input").load().bind("blur keydown keypress keyup",function(){
var t = $("#input").val();
suggest(t);
function split(val){
return val.split(/@\s*/);
}
function extractLast(term){
return split(term).pop();
}
function suggest(inputString){
if(inputString.indexOf("@")>=0){
term=extractLast(inputString);
if(term.length>2 && term.length < 18){
$('#postInput').addClass('load');
var data = 'name=' + term;
$.ajax({
type:"POST",
url:"http://site.com/ajax/mentions",
data:""+term+"",
dataType:"html",
success:function(data){
if(data.length>0){$('#suggestions').fadeIn();
$('#suggestionsList').html(data);
$('#input').removeClass('load');}
}
});
}
else {
$('#suggestions').fadeOut();
}
}
}
});