Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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,我创造了这把小提琴。它有一个输入框和提示文本。当我专注于这个输入框时,它的提示文本被正确清除。当我把注意力集中在这个输入框外时,若用户并没有输入任何内容,那个么提示文本将再次显示 但有一个问题。假设您现在正专注于输入框并单击浏览器中的另一个选项卡,如果您再次返回此小提琴,请注意,在离开此页面时,提示文本显示为空。而且,在点击输入框时也不会清除此项 因此,我发现的问题是,当我单击另一个选项卡时,blur没有被调用,因此变量“valueChanged”没有被设置为false。因此,当再次聚焦时,它并

我创造了这把小提琴。它有一个输入框和提示文本。当我专注于这个输入框时,它的提示文本被正确清除。当我把注意力集中在这个输入框外时,若用户并没有输入任何内容,那个么提示文本将再次显示

但有一个问题。假设您现在正专注于输入框并单击浏览器中的另一个选项卡,如果您再次返回此小提琴,请注意,在离开此页面时,提示文本显示为空。而且,在点击输入框时也不会清除此项

因此,我发现的问题是,当我单击另一个选项卡时,blur没有被调用,因此变量“valueChanged”没有被设置为false。因此,当再次聚焦时,它并没有清除默认的提示文本值

所以我不明白为什么onBlur没有被调用。如果有人对此有任何线索,请告知或有其他方法来实现此功能?

您可以尝试以下方法:

<input type="text" name="placeHolder" placeholder="hy i'm a place holder" />


这是一个html5属性,因此,您可以在html文件顶部添加

看起来Chrome对文本框触发了两次模糊。我能够通过使模糊事件成为命名函数并在focus
addOptionInputEle.off('blur')。on('blur',onAddOptionBlur)期间绑定模糊来解决这个问题。然后,在onAddOptionBlur中,我做了一个循环来解除模糊处理程序的所有实例的绑定

while(addOptionInputEle.data('events').blur)
{
    addOptionInputEle.off('blur');
}

注意:除了chrome之外,没有任何其他版本的测试。

我无法重现您的问题……至少我可以在chromeOn浏览器上测试,它工作得非常好,您在旁注上使用哪种浏览器,为什么不使用占位符并使用多边形填充使其在较旧的浏览器中工作?请参阅以获取输入[placeholder],PolyFill非常适合我。你试过window.onblur和window.onfocus吗?这可能会对您有所帮助。这只适用于web浏览器(internet explorer不是其中之一)。