Javascript 检查字符串中的第一个字符
我有一个输入框。我正在寻找一种方法,如果给定字符串的第一个字符等于“/”,就会触发Javascript 检查字符串中的第一个字符,javascript,jquery,string,char,Javascript,Jquery,String,Char,我有一个输入框。我正在寻找一种方法,如果给定字符串的第一个字符等于“/”,就会触发alert() var scream = $( '#screameria input' ).val(); if ( scream.charAt( 0 ) == '/' ) { alert( 'Boom!' ); } 这是我目前的密码。它不工作,我认为这是因为浏览器不知道什么时候检查字符串。。。每当用户输入“/”作为第一个字符时,我都需要该警报。尝试以下方法: $( '#screameria input'
alert()
var scream = $( '#screameria input' ).val();
if ( scream.charAt( 0 ) == '/' ) {
alert( 'Boom!' );
}
这是我目前的密码。它不工作,我认为这是因为浏览器不知道什么时候检查字符串。。。每当用户输入“/”作为第一个字符时,我都需要该警报。尝试以下方法:
$( '#screameria input' ).keyup(function(){ //when a user types in input box
var scream = this.value;
if ( scream.charAt( 0 ) == '/' ) {
alert( 'Boom!' );
}
})
Fiddle:您需要添加一个按键(或类似)处理程序,以便在每次按下输入字段上的键时通知浏览器运行您的功能:
var input = $('#screameria input');
input.keypress(function() {
var val = this.value;
if (val && val.charAt(0) == '/') {
alert('Boom!');
}
});
不要使用input.val()
,使用$(this.val()
或this.value
,你不知道有多少输入。@Neal,ha,true。我想这是我们做得对的一个标志(有一个意想不到的错误。当启动alert()
时,用户将尝试用“回车”关闭它,但这将再次调用alert()
。你怎么解决这个问题呢?你能做的就是在爆炸之前清除值,这样他们就不会提交任何东西:this.value=''
@daGrevis--#1使用JSFIDLE#2、isFired
变量不在全局scope@Neal但我只在匿名函数中使用它。。。这有什么关系?另外,我将使用JSFIDLE是的,它只存在于那一刻,而不存在于其他任何时刻。它消失了噗--