gpt4 book ai didi

Javascript - 我无法在字符串的开头连接

转载 作者:行者123 更新时间:2023-11-28 12:37:19 25 4
gpt4 key购买 nike

这就是我想做的:

检查我的字符串中是否有第一个字符“@”,如果没有,请添加它。

这是我的代码:

$(document).ready(function(){

$("#twitter").blur(function() {
var s = $("#twitter").val();
alert(s);
var isAt = s.charAt(0);
alert(isAt);
if(isAt !== "@") {
alert("lol");
s = "@" + s;
}
});
});

问题:

当我跳到下一个输入(反过来模糊#twitter)时,当我输入“Rick”时,它会哈哈大笑,但不会将输入的值设置为“@Rick”。

有什么想法吗?

最佳答案

更改此:

s = "@" + s;

对此:

$("#twitter").val('@' + s);

问题是您正在更新存储在 s 引用中的值,但该变量和输入字段本身之间没有动态绑定(bind)(即,您仍然必须更新 >#twitter 手动值)。

<小时/>

编辑:按照下面@epascarello的建议,这可能是一个更干净的解决方案:

$(document).ready(function(){
$('#twitter').blur(function() {
var $this = $(this),
val = $this.val();
if (val.charAt(0) !== '@') {
$this.val('@' + val);
}
});
});
<小时/>

而且......只是为了它,另一种方法:

$(document).ready(function(){
$('#twitter').blur(function() {
if (this.value.charAt(0) === '@') return;
$(this).val(function(i, v) { return '@' + v });
});
});
<小时/>

还有一个...

$(document).on('blur', '#twitter', function() {
$(this).val(function(i, v) {
return v.replace(/(@)?(.*)/, '@$2')
});
});

注意:您可能应该使用第一个或第二个...我在这里变得深奥...

关于Javascript - 我无法在字符串的开头连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com