就像在Facebook上输入评论并点击@username一样,它会对此作出反应,让您选择内联用户名。
使用jQuery,如何为[text:1]挂钩事件监听器。我想要在用户将[text:
输入文本字段时触发事件。
答案 0 :(得分:4)
Zurb创建了一个textchange插件,可以提供帮助。看看他们的“验证文本”示例,我相信它几乎正是你要找的......
http://www.zurb.com/playground/jquery-text-change-custom-event
答案 1 :(得分:2)
使用keyup
函数来触发。拆分所有字符串并检查它。
[更新]:更多改进版本
<script>
var totalcount=0;
$(function (){
$('#text').keyup(
function (){
var arr = $(this).val().split(" ");
var matchitems = count('hello', arr);
//console.log(matchitems);
if(matchitems > totalcount){
alert('hello');
totalcount = matchitems;
}
if(matchitems < totalcount)
{
totalcount = matchitems;
}
}
)
})
function count(value, array)
{
var j=0;
for(var i=0;i<array.length;i++)
{
if(array[i] == "hello"){
j++;
}
}
return j;
}
</script>
<input type="text" id="text" />
})
</script>
<input type="text" id="text" />
答案 2 :(得分:1)
使用像@experimentX这样的keyup
是您想要的方式b / c然后您就会知道您的用户已经输入了值。但是,在每个keyup事件中运行for
循环都会非常昂贵。相反,既然您已经知道了您想要的价值,那么您可以使用预设regexp
来搜索您的价值:
<input type="text" id="text" value="" />
<script>
$(function () {
var $input = $('#text');
$input.keyup(function (e) {
var regexp = /\[text\:/i,
val = $(this).val();
if (regexp.test(val)) {
console.log('i have it: ', val);
}
});
});
</script>
以下是关于如何编写实际regexp
的其他方案。
var regexp = /^\[text\:/i;
var regexp = /^\s+?\[text\:/i;