我正在寻找一个代码,当用户输入两个连续的空格时,自动完成功能会被关闭。现在,如果“#”不存在,则自动完成功能也会关闭。
这是我的代码:
// "post-input" is text-area element
var input = $("#post-input");
if (input.val().search("#") === -1 ){
var blankResult = [];
input.autocomplete({
source: blankResult
});
input.attr('autocomplete','off');
}
正如您所看到的,这可行,但现在我想添加第二个“功能”:如果用户键入两个空格(连续),则将禁用自动完成功能。我可以做input.val().search("#") === -1 || input.val().search(" ") === 2
之类的事情吗?
注意:我知道上面的代码永远不会是真的,但我的意思是做这样的事情。
答案 0 :(得分:1)
使用regexp / /g
if (input.val().search("#") === -1 || (/ /g.test(input.val()))) {
//code here
}
用于匹配最后两个字符
var last2 = input.val().slice(-2); //gets last two characters of string
if (input.val().search("#") === -1 || (/ /g.test(last2))) {
//code here
}
或
var last2 = input.val().slice(-2); //gets last two characters of string
if (input.val().search("#") === -1 || last2 = ' ') {
//code here
}
阅读.slice()