2013-11-25 4 views
3

Я использую select2. Событие сборки не поддерживает событие hover на выбранном элементе, поэтому я пытаюсь запустить событие hover при мыши над элементом (множественный выбор).Как включить событие hover на выбор select2

function tagFormat(state) { 
    return '<span class="tagElement">' + state.text + '</span>'; 
} 
$('.tagElement').hover(function(event){ 
    alert('something'); 
}); 
var sampleTags = ['red','white']; 
$("[taggable]").select2({ 
    formatSelection: tagFormat, 
    maximumInputLength: 10, 
    tags:sampleTags, 
    tokenSeparators: [",", " "] 
}); 

Bootply на http://bootply.com/96527, вы можете увидеть, что за пределами ВЫБ.2 событие парения делает огонь, однако внутри выбор2 нет. Каков механизм внутри?

ответ

1

. Select2.js имеет функцию .show, которая обновляет атрибут «описана ариями» всякий раз, когда вы наводите курсор на опцию. Эта функция может быть расширена ...

jsfiddle example

c.prototype.show = function() { 
    var b = a.Event("show.bs." + this.type); 
    this.$element.trigger(b); 
    var d = a.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]); 
    if (b.isDefaultPrevented() || !d) return; 
    var e = this, 
     f = this.tip(), 
     g = this.getUID(this.type); 
    /*look for the select box and find the 'onmouseover' attribute */ 
    var s = this.$element.siblings('select'); 

    if (s != undefined && s.attr('onmouseover') != undefined) { 
     var m = s.attr('onmouseover'); 
     eval(m); 
    } 
    ... 
} 
Смежные вопросы