gpt4 book ai didi

Javascript onClick 双击

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:52 27 4
gpt4 key购买 nike

我正在为 Google 地球开发此解决方案。我有一个标题,其中包含使用 CSS 创建的按钮,单击这些按钮会触发 KML 的加载。我遇到的问题是,如果用户再次单击该按钮,它会再次加载相同的 KML。我需要防止这种情况发生。我正在考虑一旦单击它就会使按钮变灰,直到选择了删除 KML 功能或者如果用户再次单击该按钮它会删除它。我需要它是按钮而不是复选标记。

function createNetworkLink(newlink) {
var networkLink = ge.createNetworkLink("");
var link = ge.createLink("");
link.setHref(newlink);
networkLink.setLink(link);
ge.getFeatures().appendChild(networkLink);

function LoadKML() {
var newlink = "http://www.something.com/test.kml";
createNetworkLink(newlink);

<div id='topmenu'>
<ul style="width: auto">
<li class='active'><a href="www.something.com"><span>Home</span></a></li>
<li><a title="KML 1" href='#'onClick=LoadKML();><span>KML 1</span></a></li>
<li class='last' style="width: auto"><a href='#'onClick=killKML();><span>Remove KMLs</spam></a></li>

我的功能可以毫无问题地终止 KML。


function killKML(source) {
var features = ge.features().getChildNodes();
for (var i=0; i < features.getLength(); i++)
{
var feature = features.item(i);
if (! source) {
ge.getFeatures().removeChild(feature);
}
}
}

最佳答案

代码中没有使用 jQuery...所以我建议一个简单的基于标志的解决方案

var kmlLoaded = false;

function LoadKML() {
if (kmlLoaded) {
return
}
var newlink = "http://www.something.com/test.kml";
createNetworkLink(newlink);
kmlLoaded=true;
}

function killKML(source) {
kmlLoaded=false;
var features = ge.features().getChildNodes();
for (var i = 0; i < features.getLength(); i++) {
var feature = features.item(i);
if (!source) {
ge.getFeatures().removeChild(feature);
}
}
}

关于Javascript onClick 双击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19705453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com