我有一个Google Maps V3折线.我可以检测整个折线上的点击事件,但是我可以使用点击事件做更高级的事吗?
我想要做的是检测折线的哪个部分已被点击,并在警报中显示.
routePath = new google.maps.Polyline({
path: routeCoordinates,
strokeColor: "#CC33FF",
strokeWeight: 3
});
routePath.setMap(map);
google.maps.event.addListener(routePath, 'click', function() {
alert(routePath);
// TODO: display which section of the polyline has been clicked?
});
Run Code Online (Sandbox Code Playgroud)
有谁知道如何在谷歌地图中这样做?
谢谢!
我想在a中添加一系列<li>元素<ul>,并以编程方式为每个元素添加一个click事件.
我不知道如何做到这一点,至少不是以一种简洁的jQueryish方式.
这是我现有的代码:
<ul id="saved-list"></ul>
<script type="text/javascript">
$.each(all_objects, function() {{
var list_route = "<li><a href='#saved-route'>" + this.text + "</a></li>";
$('#saved-list').append(list_route);
// add unique id (this.id) to item and click event here?
// pseudocode - onclick: alert(this.id);
});
$('#saved-list').refresh('listview'); // jquery mobile list refresh
</script>
Run Code Online (Sandbox Code Playgroud)
请有人建议如何以编程方式将click事件添加到每个列表项?
更新:我需要为每个列表项做一些略微不同的事情(让我们只是说一个提醒) - 道歉没有说清楚.
我想在jQuery中动态创建项目列表,并动态地将单击处理程序绑定到每个项目,并在创建单击处理程序时将变量放在范围内.
下面的代码创建了1-6的项目列表,但是单击处理程序似乎只与最终项目的值绑定 - 警报始终显示6.
这是JavaScript范围问题吗?如何使用1-6中的变量绑定警报?
HTML:
<ul id="saved-list">
</ul>
Run Code Online (Sandbox Code Playgroud)
JS:
var all_cookies = [1,2,3,4,5,6];
for (var i = 0; i < all_cookies.length; i++) {
var route_num = all_cookies[i];
var list_item = "<li><a href='#saved-route'>";
list_item += "<p>" + route_num + "</p></a></li>";
var newLi = $(list_item);
newLi.bind('click', function(){
alert(route_num);
});
$('#saved-list').append(newLi);
}
Run Code Online (Sandbox Code Playgroud)
请参见jsFiddle:http://jsfiddle.net/n6FU5/