使用鼠标粘贴文本不会触发搜索

时间:2015-08-19 17:56:28

标签: javascript javascript-events selectize.js

对于使用ajax搜索的selectize.js,通过鼠标插入文本不会导致搜索

可以在http://brianreavis.github.io/selectize.js页面上重现。 在远程源 - Github 示例:

  1. 专注于领域
  2. 删除所选
  3. 通过鼠标插入文本任何文本(不是 通过ctrl + v)
  4. 没有结果
  5. 如何解决?

    更新

    用于通过jquery bind 方法捕获事件。选择 on 方法无法捕获它(bug?)。

    $('.selectize').bind('input', function(){
    // force selectize to make ajax call and show result  
    });
    
    // following code catch nothing
    $('.selectize')[0].selectize.on('input', function(){
    // force selectize to make ajax call   
    });
    

    但是找不到强制选择ajax调用的解决方案

1 个答案:

答案 0 :(得分:-2)

您可以在问题页https://github.com/selectize/selectize.js/issues/882

上找到修复程序

代码

onPaste: function(e) {
        var self = this;
        if (self.isFull() || self.isInputHidden || self.isLocked) {
            e.preventDefault();
        } else {
            // If a regex or string is included, this will split the pasted
            // input and create Items for each separate value
             setTimeout(function() {
                 if (self.settings.splitOn) {
                    var splitInput = $.trim(self.$control_input.val() || '').split(self.settings.splitOn);
                    for (var i = 0, n = splitInput.length; i < n; i++) {
                        self.createItem(splitInput[i]);
                    }
                  }
                  self.onKeyUp(e);
            }, 0);
        }
    },