javascript - 这个 JavaScript 示例有什么问题?

标签 javascript dom-events

var input = document.getElementById("myInput");
a.onkeydown = function() {
    if (a.value.match("hi")) {
        a.value.replace("hi", "span style='color:red;'>hi</span>");
    }
};

<input type="text" id="myInput" />

它不采取任何操作将“hi”替换为红色“hi”。

最佳答案

  1. 您正在使用变量 a它没有在任何地方声明,我假设你的意思是 input
  2. 更好的选择是使用 onkeyup一旦您输入 hi 就会触发该事件
  3. 完成替换后,您需要将其分配给某些内容。
  4. 确保 <script/>位于元素之后,因此该元素已在 dom 中准备就绪。


将所有这些放在一起,您将得到:

<input type="text" id="myInput" />
<script type="text/javascript">
    var input = document.getElementById("myInput");

    input.onkeyup = function() {
      if (input.value.match("hi")) {
      input.value = input.value.replace("hi", "<span style='color:red;'>hi</span>");
    }
};
</script>

jsfiddle 上的代码示例.

关于javascript - 这个 JavaScript 示例有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5466301/

相关文章:

javascript - 单击事件监听器

javascript - 如果正则表达式紧随第一个匹配之后,为什么会忽略第二个匹配?

javascript - 当用户将文本拖到文本字段时如何触发 JavaScript 事件?

javascript - 防止输入字段上的点击事件

javascript - 如何使用 jquery 为 div 中的每个元素设置边距?

javascript - 如何使用attachListener获取链接的属性?

javascript - Javascript 中定时器的困惑

javascript - 在promise内部出错后继续子循环-try/catch

javascript - Chrome : Unexpected identifier , Firefox: missing ] after element list

javascript - 正则表达式检查文本区域中的一些特殊字符