Jquery jrails自动完成div或其他任何内容的选择问题

Jquery jrails自动完成div或其他任何内容的选择问题,jquery,ruby-on-rails,autocomplete,jrails,jrails-auto-complete,Jquery,Ruby On Rails,Autocomplete,Jrails,Jrails Auto Complete,我刚刚开始使用jRails和jRails自动完成帮助程序 在使用prototype之前,我使用了默认的auto_complete帮助程序,该插件在jRails中运行良好,只是在autocomplete的结果上悬停。如果您使用简单文本作为结果,则其效果与广告相同。但是我在我的partial中使用了几个div,它生成了自动完成的输出 <li class="location"><div class="image"><img src="/images/flags/<

我刚刚开始使用jRails和jRails自动完成帮助程序

在使用prototype之前,我使用了默认的auto_complete帮助程序,该插件在jRails中运行良好,只是在autocomplete的结果上悬停。如果您使用简单文本作为结果,则其效果与广告相同。但是我在我的partial中使用了几个div,它生成了自动完成的输出

<li class="location"><div class="image"><img src="/images/flags/<%=h image %>.png"/></div><div class="name"><%=h location.keyword %>,</div><div class="country"> <%=h location.sideinfo %></div></li>
  • .png/>
  • 它看起来是一样的,所有的CSS都和以前一样工作,但是选择或悬停在结果上是混乱的。它只允许在文本周围的背景上悬停时进行选择…标记中的任何内容(div、span等)都会导致悬停消失,单击它不会将文本添加到文本框中


    还有其他人有类似的问题吗?

    我知道有点晚了,但我今天自己也遇到了同样的问题

    这一切都归结为mouseover事件从子对象冒泡而来,子对象显然缺乏autocompleteIndex属性(它只分配给LI元素。因此,一旦指针位于其中一个子对象上,突出显示就消失了)

    我最终修改了jrails_autocomplete.js,如下所示:

    
        onHover: function(e) {
            var my_index = e.target.autocompleteIndex;
            if (!my_index) {
              my_index = $(e.target).closest('li').attr('autocompleteIndex');
            }
            if (this.index != my_index) {
                this.index = my_index;
                this.render();
            }
            stopEvent(e);
        },
    
    现在,如果我们在触发mouseover事件的元素中找不到autocompleteIndex属性,我们将查看最接近的“li”类型的父级,并使用其中存在的任何内容

    有点老土,但至少对我有用

    在旁注中,我还必须在onClick上挠痒痒,或者当我单击鼠标并点击一个,比如说,DIV元素时,索引丢失了。实际上,我想知道为什么一开始就有这个,键盘界面也没有类似的东西

    
            onClick: function(e) {
                /*this.index = e.target.autocompleteIndex;*/
                this.selectEntry();
                this.hide();
            },