Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 - Fatal编程技术网

Javascript 当文本框失去焦点时,如何删除所有出现的字符?

Javascript 当文本框失去焦点时,如何删除所有出现的字符?,javascript,jquery,Javascript,Jquery,我需要在jquery中创建一个函数,一旦用户从控件中弹出制表符或在textbos中完成键入,就会从字段中删除字符 $('[id$=txtClient]').keyup(function (){ } 首先,我不知道如何删除它,我应该做它的钥匙?或者在其他情况下?给你: $('[id$=txtClient]').keyup(function (){ var $el = $(this); // the text element var text = $el.val();

我需要在jquery中创建一个函数,一旦用户从控件中弹出制表符或在textbos中完成键入,就会从字段中删除字符

 $('[id$=txtClient]').keyup(function (){

}
首先,我不知道如何删除它,我应该做它的钥匙?或者在其他情况下?

给你:

$('[id$=txtClient]').keyup(function (){
    var $el = $(this); // the text element
    var text = $el.val();
    text = text.split("#").join("");//remove occurances
    $el.val(text);//set it back on the element
});
获取输入字段的值 把绳子穿上,然后再穿上 放回元素中 发生在 给你:

$('[id$=txtClient]').keyup(function (){
    var $el = $(this); // the text element
    var text = $el.val();
    text = text.split("#").join("");//remove occurances
    $el.val(text);//set it back on the element
});
获取输入字段的值 把绳子穿上,然后再穿上 放回元素中 发生在 我不认为这是你想要的事件。相反,我建议使用模糊,它在元素失去焦点时跟踪。否则,用户将无法键入,这可能有点令人沮丧。然后可以使用“替换”删除字符:

$('[id$=txtClient]').blur(function() {
     $(this).val( $this.val().replace(/#/g, '') );
});
函数中的代码将元素的文本设置为其现有文本,但使用正则表达式将每个文本替换为空字符串。感谢Benjamin Grunbaum指出了我第一次使用replace时的一个缺陷。

我不认为keyup是您想要的事件。相反,我建议使用模糊,它在元素失去焦点时跟踪。否则,用户将无法键入,这可能有点令人沮丧。然后可以使用“替换”删除字符:

$('[id$=txtClient]').blur(function() {
     $(this).val( $this.val().replace(/#/g, '') );
});
函数中的代码将元素的文本设置为其现有文本,但使用正则表达式将每个文本替换为空字符串。感谢Benjamin Gruenbaum指出我第一次使用replace时的一个缺陷。

您将希望使用在输入失去焦点时发生的,然后只需更改可作为jQuery包装器输入属性访问的值::

您需要使用在输入失去焦点时发生的,然后只需更改可作为jQuery包装器的输入属性访问的值::


但是在键盘上可以吗?还是另一个事件?@LuisValencia KeyUp没问题,我添加了一个演示,这样你就可以玩它并看到它的行为。如果您对代码或部分有任何问题需要我澄清,请告诉我。KeyUp绑定到当一个键被提起时,它将“立即”发生,而不是当元素失去焦点时。@Lilith2k3问得好!Replace需要一个RegExp,它需要OP知道正则表达式或使用他可能不完全理解的代码。拆分/加入也更快,发生的事情非常简单。请参阅以获取一个简单的替换,您可以使用blabla.replace,不需要regexp。@Lilith2k3 Right..replace with a string first参数只替换第一个匹配项,这对于您刚才提到的情况来说是令人满意的:但是在keyup上是否可以?还是另一个事件?@LuisValencia KeyUp没问题,我添加了一个演示,这样你就可以玩它并看到它的行为。如果您对代码或部分有任何问题需要我澄清,请告诉我。KeyUp绑定到当一个键被提起时,它将“立即”发生,而不是当元素失去焦点时。@Lilith2k3问得好!Replace需要一个RegExp,它需要OP知道正则表达式或使用他可能不完全理解的代码。拆分/加入也更快,发生的事情非常简单。请参阅以获取一个简单的替换,您可以使用blabla.replace,不需要regexp。@Lilith2k3 Right..replace with a string first参数只替换第一次出现的值,这对于您刚才提到的情况来说是令人满意的:例如,如果用户输入asdasdadsa,这将失败,因为使用blur时更改不是即时的,您必须处理字符串中多次出现的。不是这样的。替换是有效的。如果您想使用它,您需要传递一个带有全局标志的regex first参数。它似乎是一个字段,所以不要使用.text!例如,如果用户输入asdasda,则此操作将失败,因为使用模糊时更改不是即时的,您必须处理字符串中多次出现的。不是这样的。替换是有效的。如果您想使用它,您需要传递一个带有全局标志的regex first参数。它似乎是一个字段,所以不要使用.text!