Jquery不会在第一次点击时隐藏元素

时间:2016-05-26 12:14:16

标签: javascript jquery html

我有一个奇怪的问题,我有一个事件监听器

data = { "key":"xxxxxxxx",
     "download":infos['dlspeed']
     "upload":infos['upspeed'], 
     "latency":infos['latency']}

所以当.suggested-location-item被点击一次(1次)时,该元素不会消失,它只会快速闪烁,只有在第二次点击时才会消失,但如果我$(document).on('click', '.suggested-location-item', function(event) { event.preventDefault(); $('#IDsuggestedLocationsList').html(''); $('#IDlocationSuggestBox').hide(); }); 而不是隐藏( )它在第一次单击时删除元素没有问题。在这里,我将发布我的整个代码,因为可能还有一些其他代码会导致问题:

此代码生成元素:

$('#IDlocationSuggestBox').remove();

此代码假设删除元素:

$(document).on('propertychange change click keyup input paste', '#IDLocationSearchInput', function(event) {
    event.preventDefault();
    var searchTerm = $('#IDLocationSearchInput').val();
    $.ajax({
        url: IDurlToGetLocation,
        type: 'GET',
        data: {'location':searchTerm},
    })
    .done(function(data) {
        if (data.success == 0) {
            $('#IDlocationSuggestBox').hide();
            $('#IDsuggestedLocationsList').html('');
            if (data.message) {
                $('#IDlocationSuggestBox').show();
                $('#IDsuggestedLocationsList').html("<div class='list-group-item'>"+data.message+"</div>");
            }
        }else{
            $('#IDlocationSuggestBox').show();
            $('#IDsuggestedLocationsList').html('');

            $.each(data, function(index, val) {

                $('#IDsuggestedLocationsList').html($('#IDsuggestedLocationsList').html()+"<a href='' type='"+val.table_name+"' id='"+val.id+"' class='list-group-item suggested-location-item'>"+val.city_name+"</a>");
            });
        }


    });

});

请帮助,这是一个奇怪的问题/?

谢谢。

1 个答案:

答案 0 :(得分:0)

我发现了一个拼写错误,我应该在我的

上使用click input绑定

$(document).on('propertychange change click keyup input paste', '#IDLocationSearchInput', function(event){...});

事件监听器