代码之家  ›  专栏  ›  技术社区  ›  MrFox

捕捉传单搜索事件

  •  1
  • MrFox  · 技术社区  · 8 年前

    我正在尝试添加一个 search box 致我的传单地图查看器:

    var controlSearch = new L.Control.Search({
        layer: new L.LayerGroup()
    }).on('search_expanded', function () {
        console.log('search_expanded!')
    }).on('popupopen', function(e) {
        var marker = e.popup._source.feature.properties.markerid;
    }).addTo(map);
    

    我需要添加自定义代码来执行搜索功能 events ,我在上面放了断点。然而,当我按下搜索按钮或键入文本时,代码没有到达我的事件。
    我正在用这张地图显示土地的面积。搜索必须根据区域的自定义属性识别区域,并突出显示它们或其他内容,以便用户识别它们。因此,搜索不应应用于位置或类似内容,而应应用于正在显示的项目的自定义属性。 该页面主要使用jQuery,没有角度。

    我还没有找到事件列表。
    那么,如何捕捉用户键入的事件呢?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Abid Nawaz    8 年前

    您可以将这样的事件添加到搜索输入框:

    var controlSearch = new L.Control.Search({
       layer: new L.LayerGroup()
    }).on('search:expanded', function () {
       this._input.onkeyup = function(){
         console.log(this.value)
       }
    
    }).addTo(map);