Javascript 将列表粘贴到select2字段并匹配IE中的每个项目

Javascript 将列表粘贴到select2字段并匹配IE中的每个项目,javascript,internet-explorer,Javascript,Internet Explorer,如果我粘贴一个用新行字符分隔的项目列表,Chrome会将新行转换为一个空格并匹配每个项目,但IE会在第一个新行字符处截断列表,并且只粘贴第一个元素 我一直在尝试使用“onpaste”方法,但它不适用于新行字符,但我似乎无法让它工作。它可以与逗号或空格配合使用 $('body').on('paste', '#s2id_list-unitids .select2-input', function () { var that = this; setTimeout(function ()

如果我粘贴一个用新行字符分隔的项目列表,Chrome会将新行转换为一个空格并匹配每个项目,但IE会在第一个新行字符处截断列表,并且只粘贴第一个元素

我一直在尝试使用“onpaste”方法,但它不适用于新行字符,但我似乎无法让它工作。它可以与逗号或空格配合使用

$('body').on('paste', '#s2id_list-unitids .select2-input', function () {
    var that = this;
    setTimeout(function () {
        var tokens = that.value.split(/[\n]+/);$(that).blur();
        $('#list-unitids').val(tokens, true);
        console.log($('#list-unitids').select2('val'));
    }, 1);
});
编辑:好的,它实际上在我的本地环境中不起作用,即使除了注释中建议的JSFIDLE中给出的代码之外,我没有其他代码

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

    <title>RiskCube Administration Console</title>

    <script type="text/javascript" src="javascript/jqGrid/jquery-1.8.3.js"></script>
    <script type="text/javascript" src="javascript/admin.js"></script>
</head>
<body>
<input id="editor" type='text'>

</body>
</html>

RiskCube管理控制台
而admin.js包含

$(document).ready(function () {

    var $editor = $('#editor');
    var $clipboard = $('<input type="text" />').insertAfter($editor);



    $editor.on('paste', function () {
        var $self = $(this);
        setTimeout(function () {
            var $content = $self.val();
            console.log($self.val());
            $clipboard.val($content);
        }, 100);
    });

});

if (window.clipboardData) {
    $('#editor').bind('paste', function (e) {
        var clipped = window.clipboardData.getData('Text');
        clipped = clipped.replace(/(\r\n|\n|\r)/gm, " "); //replace newlines with spaces
        $(this).val(clipped);
            alert("this is" + clipped); //this does not appear
        return false; //cancel the pasting event
    });
}
$(文档).ready(函数(){
var$editor=$(“#editor”);
var$clipboard=$('').insertAfter($editor);
$editor.on('paste',函数(){
var$self=$(本);
setTimeout(函数(){
var$content=$self.val();
log($self.val());
$clipboard.val($content);
}, 100);
});
});
if(window.clipboardData){
$(“#编辑器”).bind('paste',函数(e){
var clipped=window.clipboardData.getData('Text');
clipped=clipped.replace(/(\r\n |\n |\r)/gm,“”;//用空格替换换行符
$(此).val(剪裁);
警报(“这是”+剪辑);//这不会出现
return false;//取消粘贴事件
});
}

这里有一个较早的答案:。的可能副本似乎对我不起作用,即使我复制并粘贴了确切的代码到我的代码中。我是否需要特定版本的jquery?我是否可以将其绑定到select2对象,并在其中标记匹配项?下面是一个较早的答案:。的可能副本似乎对我不起作用,即使我将确切的代码复制并粘贴到我的代码中。我是否需要特定版本的jquery?我是否可以将其绑定到select2对象,并在其中标记匹配项?下面是一个较早的答案:。的可能副本似乎对我不起作用,即使我将确切的代码复制并粘贴到我的代码中。我需要某个版本的jquery吗?我可以将它绑定到select2对象,在该对象中我也标记匹配项吗?