首页 > 解决方案 > 如何用jquery识别触摸

问题描述

我正在尝试为移动触摸设备的桌面启用旧功能。现在一切看起来都很好,除了选择部分。该函数将识别返回键 (13) 并使用所选选项填写表单字段。

看起来剩下要做的就是改变这部分:

else if (e.keyCode == 13) {

我正在考虑这样的事情,但它不起作用:

$('#search-autocomplete li').click(function(e) { 
     console.log('worked');
 });

这怎么能改变,所以它也能识别触摸事件?

这是整个函数:

//Auto-complete
$('#refn').keydown(function(e) {
    if (e.keyCode == 40 || e.keyCode == 38) {
        var current = $('#search-autocomplete .hover').parent();

        if (current.length == 0)
            $('#search-autocomplete li:first-child a').addClass('hover');
        else {
            current.find('a').removeClass('hover');

            if (e.keyCode == 40) current.next().find('a').addClass('hover'); //Arrow down
            else current.prev().find('a').addClass('hover'); //Arrow up
        }

        return false;
    }
    else if (e.keyCode == 13) {

        if ($('#search-autocomplete .hover').length > 0) {
            $('#refn').val($('#search-autocomplete .hover').data('ref'));
            $('#search-autocomplete').hide();
        }
        event.preventDefault();
        return false;
    }
}).bind('keyup change', function(e) {
    if ($(this).val().trim() == '' || $(this).data('autocompleted')) {
        $(this).data('autocompleted', false);
        return true;
    }
    // console.log($('#filter_brand').find(":selected").val());
    $.ajax({
        type: 'get',
        url: '/subapp_cities/index.php/getsuggestions',
        data: { 
                q: $('#refn').val() ,
                ref: 1,
                make: $('#filter_brand').find(":selected").val()
        },
        dataType: 'text',
        success: function(response) {
            response = eval('response = ' + response);

            var selectedSuggestion = $('#search-autocomplete .hover').text();

            $('#search-autocomplete').html('').show();

            for (var i = 0; i < response.length; ++i){
                var tag = response[i][1] + ' ' + response[i][0];
                $('<li><a href="" data-ref="'+response[i][0]+'" ' + (tag == selectedSuggestion ? 'class="hover"' : '') + '>'+tag+'</a></li>').appendTo('#search-autocomplete');
            }
        },
        error: function(request, status, error) {
            console.error(status);
            console.error(error);
        }
    });
});

输出:

在此处输入图像描述

标签: jquery

解决方案


推荐阅读