在文本区域中的新行上触发jQuery事件(不是键盘输入)

时间:2012-06-19 11:16:38

标签: jquery html forms events

我有一个文本区域,它有多行文本,但大多数情况下是通过条形码扫描仪输入的,或者我想偶尔粘贴一下。 扫描仪的工作方式非常简单,用户只需关注文本框和扫描,结果就会被填充,有趣的是,逐个字符(非常快速地连续),最后一行是一个新行。

我想要做的是确保没有扫描或粘贴意外重复(当有错误时99%的时间是由于我在其他系统上观察到的手动输入)。当然,这些行没有排序,如果输入顺序没有改变,它将是理想的。

考虑到键盘没有使用我可以捕获的其他事件,我可以捕获新行字符并动态检查textarea,因为它的值实际即使通过聚焦也会发生变化。 (但不是每个字符都不会因为我觉得扫描仪的工作方式很慢......)

<script>
    $("#serials-textarea").change(function () {
        alert($("#serials-textarea").val());
    });
</script>

我可以捕获哪些其他事件来进行验证(alert()是什么或者你们有什么建议)?

1 个答案:

答案 0 :(得分:2)

$("#serials-textarea").keyup(function(event) {
    if (event.which == 13) {
        alert("return");
        event.preventDefault();
    } 
});

捕获“输入”按键,这似乎是设备传递的事件(回车)。适用于FF和Chrome。