Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html按钮不改变颜色_Javascript_Jquery_Html_Leaflet - Fatal编程技术网

Javascript html按钮不改变颜色

Javascript html按钮不改变颜色,javascript,jquery,html,leaflet,Javascript,Jquery,Html,Leaflet,我正在使用liflet API。 我在地图上创建标记。 当按下标记时,会弹出一个大写字母。 在弹出窗口中有两个按钮。 我想做的是让按钮在按下时改变颜色。 问题是,当我试图重置颜色时,弹出窗口被打开为原来的一个 只有当我第二次打开弹出窗口时才会发生这种影响。 我检查了弹出事件和点击事件的工作。 按钮创建代码: if(!marker.getPopup()){ var tooltipContent = $('<div />'); $.each(marker.

我正在使用liflet API。 我在地图上创建标记。 当按下标记时,会弹出一个大写字母。 在弹出窗口中有两个按钮。 我想做的是让按钮在按下时改变颜色。 问题是,当我试图重置颜色时,弹出窗口被打开为原来的一个 只有当我第二次打开弹出窗口时才会发生这种影响。 我检查了弹出事件和点击事件的工作。 按钮创建代码:

if(!marker.getPopup()){
        var tooltipContent = $('<div />');
        $.each(marker._myId, function(index,value){
            var current = $("<button id=\"router-"+value.properties.name+"\" type=\"button\" style=\"width:100%;color:black\" class='tooltipName' >"+value.properties.name+"</button>")
                .click(function(){
                    handleClickOnSwitch(value);
                    var button=$("#router-"+value.properties.name);
                    button.css("background-color","grey");

                });
            tooltipContent=tooltipContent.append(current);
        });
        marker.bindPopup(tooltipContent[0],{'closeButton' : false,}).openPopup();
    }

如果您能提供帮助,我将不胜感激。

最后,问题的根本原因是种族问题。 我试图更新的按钮元素创建速度不够快,因此 颜色的变化没有起作用。 我的解决方案是在每次弹出窗口打开时创建按钮。
通过这种方式,我可以绕过这个问题。

jsfiddle或它没有发生。我不能在这里发布整个代码,因为它依赖于外部事件。我说的是jsfiddle.net,如果您使用库,您可以始终在左侧菜单中添加外部链接,最后在这里保存和共享您的工作,这样我们就可以轻松地看到它的工作。
function resetButtonPress(marker){
    $.each(marker._myId, function(index,router){
        var button=$("#router-"+router.properties.name);
        button.css("background-color","RGB(221,221,221)");
    });
}