删除输入中的键码

时间:2015-11-04 07:24:15

标签: jquery

所以,我有一个以下的js代码来显示输入:

  jQuery('#name').keyup(function(e){
                console.log(e);                    
                 if(e.which == 188) {
                    var tag  = jQuery(this).val();
                    var data = '<li>'+ name+'<a class="delete_name" title="'+ tag +'" style="cursor:pointer;"><b>Delete</b></a></li>';
                    tags.push(tag);
                    jQuery('.name ul').append(data);
                    jQuery(this).val('');
                }               
        });

例如,在此输入中,您可以键入以逗号分隔的名称。

但是,我得到以下结果:

steve, mike,Ryan,

因此,逗号成为输入的一部分。

有没有办法在输入系统中“不”识别或删除“,”?

由于

2 个答案:

答案 0 :(得分:1)

请添加此行

jQuery('#name').keyup(function(e){
                console.log(e);                    
                 if(e.which == 188) {
                    var tag  = jQuery(this).val().replace(/,/g, "");
                    var data = '<li>'+ name+'<a class="delete_name" title="'+ tag +'" style="cursor:pointer;"><b>Delete</b></a></li>';
                    tags.push(tag);
                    jQuery('.name ul').append(data);
                    jQuery(this).val('');
                }               
        });

答案 1 :(得分:1)

您可以使用keydownkeypress代替并在更新字段值之前捕获输入,然后在按下的键是逗号时阻止默认行为:

jQuery('#name').keypress(function(e){
            console.log(e);                    
             if(e.which == 188) {
                e.preventDefault();
                var tag  = jQuery(this).val();
                var data = '<li>'+ name+'<a class="delete_name" title="'+ tag +'" style="cursor:pointer;"><b>Delete</b></a></li>';
                tags.push(tag);
                jQuery('.name ul').append(data);
                jQuery(this).val('');
            }               
    });