Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查字符串中的第一个字符_Javascript_Jquery_String_Char - Fatal编程技术网

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是的,它只存在于那一刻,而不存在于其他任何时刻。它消失了噗--