检查文本框中是否按下了引号

时间:2014-06-11 13:59:27

标签: javascript html

我有一个包含文本框的html文件。我只是想知道如何检查用户是否输入",如果是这样,然后运行一个函数...我一直在查找示例和源代码,但到目前为止没有运气..这就是我到目前为止所拥有的。

<script>
function turnTextGreen(e) {
    var keyNum = e.keyCode;
    var userString = e.toString;

    if (keyNum == "222") {

        do{

            userString.fontcolor("green");

        }while (e.keyNum != "222");
    }
};
</script>

然后在我的文本框区域中我有:

<textarea class="text_edit" id="my_text" onfocus="return turnTextGreen(event)" 
</textarea>

我是javascript和html的初学者,所以我希望这足以让我指出正确的方向?

1 个答案:

答案 0 :(得分:2)

您应该使用keyup事件,以便在用户键入密钥后检查e.char是否为"

<textarea class="text_edit" id="my_text" onkeyup="turnTextGreen"></textarea>

修改

似乎char未实现,因此在事件处理程序中,您仍需要使用which属性检查密钥代码,如ventsi.slav的回答中所建议的那样。这仍然不能保证插入的char实际上是",因为当插入该键的替代字符时,密钥代码也是222

正如评论中所指出的,这种方法也没有考虑通过粘贴上下文菜单粘贴选项进行插入。尽管如此,使用keyup事件是您可以进行迭代的第一次尝试,直到您找到对您的用例有利的解决方案。这是一个fiddle,你可以开始工作和实验。