- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试选择 <div>
使用 jquery 的 $('#divname')
在点击 map 上的许多标记中的任何一个时,Google map 生成的信息框内。
问题:当我尝试使用 $("#gallery")
访问 div 时单击标记后,也就是在该标记的单击事件监听器中,什么也没有发生。我尝试使用 console.log($("#gallery").html())
从点击监听器获取该 div 中包含的 html它返回 null
!!我怎样才能选择这个 div!?
点击事件监听器片段代码
// Create Listeners
markers[i]._index = i;
google.maps.event.addListener(markers[i], 'click', function() {
infoboxes[this._index].open(map, markers[this._index]);
infoboxes[this._index].show();
console.log($('#gallery').html());
});
信息框片段代码
for( i = 0; i < json.length; i++) {
// Place markers on map
var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
markers.push(marker);
// Create infowindows
var boxText = '<div id="infobox"> \
<div id="infobox_header_title"> \
<span id="infobox_header_price">$' + json[i].price + '</span> \
<span id="infobox_header_room">' + json[i].bedroom + 'br </span> \
<span id="infobox_header_address">' + json[i].address_1 + '</span> \
</div> \
<div id="gallery"> \
<img src="images/cl/' + json[i].photos[0] + '.jpg" /> \
<img src="images/cl/' + json[i].photos[1] + '.jpg" /> \
</div> \
</div>';
var infoboxOptions = {
content: boxText,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-140, 0),
zIndex: null,
boxStyle: {
},
closeBoxMargin: "10px 2px 2px 2px",
closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif",
infoBoxClearance: new google.maps.Size(1, 1),
isHidden: true,
pane: "floatPane",
enableEventPropagation: false
};
var infobox = new InfoBox(infoboxOptions);
infoboxes.push(infobox);
//<Click Event Listener code comes in here>
最佳答案
据我所知,您是在循环中添加标记?因此,您为每个标记的 infoWindow 使用相同的 ID,这违反了 HTML/JS/CSS 规则,超过一个具有相同 ID 的元素并且失败是正常的。我要做的是只为我的标记使用类,在事件监听器中你可以像这样获取 .gallery div 的内容(没有尝试过但如果它不起作用你应该明白):
// Create Listeners
markers[i]._index = i;
google.maps.event.addListener(markers[i], 'click', function() {
infoboxes[this._index].open(map, markers[this._index]);
infoboxes[this._index].show();
console.log($(infoboxes[this._index].getContent()).find('.gallery'));
});
关于javascript - 如何访问 Google Maps InfoBox 中的 Div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7859275/
有一个使用 Google Maps API 的 Vue.js + Typescript 项目,尝试将 infobox.js(npm 包 google-maps-infobox-window)库导入并在
我正在使用 Mediawiki 制作 wiki。我在其他 wiki 上看到过每个页面的右侧栏。 像这样:http://minecraft.gamepedia.com/Diamond_Ore 右侧栏包含
我在 Outlook 2013 中从其他帖子中拼凑出这个测试程序。 它应该会显示一个弹出框,然后在 3 秒后关闭。 它永远不会关闭。 Sub MessageBoxTimer() Dim Ack
有没有办法在 shinydashboard 上的 infoBox 上使用自定义图标。我正在尝试使用 hrbrmstr gist 上的示例但是我找不到更新 infoBox 函数的地方。 library(
我一直在尝试结合 JQuery 创建这种新闻 slider 。我不关心让交互正常工作,但我的信息框是一个 div,包含“Prev”和“Next” anchor 标记,但不会调整大小以适应其父 div
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关于您编写的代码问题的问题必须在问题本身中描述具体问题 — 并且包括有效代码 以重现它。参见 SS
我正在尝试从大多数汽车页面中删除有用的信息框,但是我弄乱了语法。从其他有用的 SO 帖子中,我找到了一种抓取标准 Infobox 模板的便捷方法(给出的示例是氢): https://en.m.wiki
我想要一个信息框显示两行文本。例如,如果我要结合 html 和 和 Shiny (就像传单中的弹出窗口一样): output$myInfoBox ", "Output2: ", myout2, sep
我使用库 Shinydashboard 来编写我的 ui.R。在我的dashboardBody部分,我写道: fluidRow(infoBoxOutput("dri")) 然后在我的 server.R
这个问题困扰我好久了。我不断收到此错误: Uncaught TypeError: Object # has no method 'open' 这篇文章中的解决方案也无济于事。 Uncaught Typ
我在使用信息框时遇到了一些问题 - http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/refere
我正在尝试从我的 csv 文件中获取一系列国家/地区的官方语言。 我正在用 python 和 BeautifulSoup 解析页面以从维基百科获取数据(例如 https://en.wikipedia.
我一直在研究 InfoBox 文档和这篇文章 here尝试让 InfoBox 看起来与标准 InfoWindow 几乎一样,以此作为一些细微外观变化的起点。 正如您在 this fiddle 中看到的
我这里有一张 map 、标记和信息框。 现在我想用 jquery dialog() 和模态窗口更改信息框...我该怎么做? 这是我的信息框代码 google.maps.event.addListen
我对如何实现信息框有疑问,想知道是否有人对可能的解决方案有深入的了解。 目前我有大约 1000 个客户端标记,它们都被动态添加到页面中。它们是使用以下内容生成的。 var cir = new goo
我在 React 应用程序中遇到 google maps InfoBox 的问题。我的目标是在谷歌地图实例上打开一个空的 InfoBox,然后使用 ReactDOM.render 将我的组件放入其中。
我知道这与谷歌地图 API 有关,但不确定如何删除/出售错误。有谁请赐教?当我进行搜索时,它专门出现在 Wordpress 上。 https://www.madhatgirls.com/ Failed
设置 我有a polygon map of all the Provinces in South Africa . 然后将其作为 FusionTablesLayer 拉入 v3 Google map
我正在尝试选择 使用 jquery 的 $('#divname')在点击 map 上的许多标记中的任何一个时,Google map 生成的信息框内。 问题:当我尝试使用 $("#gallery") 访
我正在使用信息框。我能够加载所有标记,在每个信息框中加载不同的内容,然后“正确”触发。然后从哪里开始问题: 1) 在桌面/iOS 上,我的 Toggle 事件仅在第二次单击后起作用。基本上它上下移动一
我是一名优秀的程序员,十分优秀!