将onMouseOver事件绑定到jQuery自动完成项

时间:2012-06-12 09:44:30

标签: javascript jquery jquery-ui-autocomplete

我有一个jQuery自动完成字段,可以从Amazon的自动完成中获取结果,如下面的源代码所示。每次用户将光标悬停在自动完成列表中的某个项目上时,我需要调用一个函数。

函数本身不是问题,我不知道如何调用它。因此,为简单起见,我只需要提醒光标结束的项目。如果我想在onClick上执行此操作,我想我可以添加select属性,但我如何在onMouseOver上执行此操作?

这是jQuery:

$(document).ready(function () {


    //http://completion.amazon.com/search/complete?method=completion&q=halo&search-alias=videogames&mkt=1&x=updateISSCompletion&noCacheIE=1295031912518
    var filter = $("#new_item").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "http://completion.amazon.com/search/complete",
                type: "GET",
                cache: false,
                dataType: "jsonp",
                success: function (data) {
                    response(data[1]);
                },
                data: {
                    q: request.term,
                    "search-alias": "stripbooks",
                    mkt: "1",
                    callback: '?'
                }
            });
        }
    });
});

3 个答案:

答案 0 :(得分:0)

自动完成列表在dom中作为带有class="ui-autocomplete ..."的ul。菜单项位于li里面,class="ui-menu-item"因此使用jQuery将它们绑定到它们:

$('.ui-autocomplete .ui-menu-item').hover(mouseInHandler, mouseOutHandler);可以找到有关悬停功能的更多信息here

答案 1 :(得分:0)

如果我做对了,你想在触发鼠标悬停事件时在自动完成列表中选择一个条目?然后你可以这样做:

    $j('.ui-autocomplete').on('mouseover', '.ui-menu-item', function () {
        $(this).find('a').click();
    });

答案 2 :(得分:0)

只需写下:

$('#element').hover(function()
{
    alert('hoho!');
});