Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.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_Angular_Placeholder - Fatal编程技术网

Javascript 如何使输入占位符随光标动态移动?

Javascript 如何使输入占位符随光标动态移动?,javascript,angular,placeholder,Javascript,Angular,Placeholder,我的表格里有一个输入,它保存了一个产品的价值价格, 开始时,输入文本占位符为“$”: <input [placeholder]="$"/> 现在,当我写东西时,我希望占位符的“$”字母随光标移动,但在占位符内部,而不是作为文本,例如,当我写123时,它会像这样显示123$,我所做的是在输入中的每次更改时,我在输入文本的末尾添加字母“$”,但这不实用,我希望字母“$”在背景中作为占位符,而不是实际价格的一部分 欢迎提供任何帮助。占位符属性指定一个简短提示,用于描述输入字段的预期值

我的表格里有一个输入,它保存了一个产品的价值价格, 开始时,输入文本占位符为“$”:

<input [placeholder]="$"/>

现在,当我写东西时,我希望占位符的“$”字母随光标移动,但在占位符内部,而不是作为文本,例如,当我写123时,它会像这样显示123$,我所做的是在输入中的每次更改时,我在输入文本的末尾添加字母“$”,但这不实用,我希望字母“$”在背景中作为占位符,而不是实际价格的一部分


欢迎提供任何帮助。

占位符属性指定一个简短提示,用于描述输入字段的预期值(例如示例值或预期格式的简短描述)

短提示在用户输入值之前显示在输入字段中,并在用户输入值后立即取消显示

您要做的是格式化placehoder无法实现的值


我将使用一个指令,允许您配置要显示的货币以及在何处显示货币。就像

在我看来,你应该创建一个过滤器(或者用Angular 2的说法创建一个“管道”)。可以使用模板在视图中修改范围值,而无需更改原始值

既然“$”符号不是文本的一部分,而是用于指导用户,那么您最好将其实现为:

<label>$</label><input type="text" placeholder="Enter value in USD" />
$

这样,在输入值之前,$将保持不变。

@isherwood您所说的“非标准”是什么意思您尝试过什么?因此,要求您在提问之前表现出努力,而“任何帮助”通常过于宽泛。@isherwood因为在其他版本中,我使用了位于右侧的“€”检查注释部分,在某些情况下,我需要符号位于文本的右侧。这取决于您使用什么来确定货币指示器的位置,您可以很容易地在标签的正面或背面显示“ng if或ng show”,标签应包含对视觉障碍患者有用的文本(使用辅助技术)。它们应指明输入的目的。装饰师是更好的方法。