小编Jos*_*osh的帖子

单击Leaflet Popup中的链接并执行Javascript

我有一张传单和地图.它在地图上叠加了一系列多边形(通过GeoJSON),并将弹出窗口附加到每个多边形.每个弹出窗口显示有关该多边形的信息.

我想在弹出窗口中有一个链接,当点击它时,它运行一个javascript函数,通过AJAX拉出更小的多边形并显示它们.

我无法让脚本通过正常的jQuery/Javascript点击事件来点击链接.这是我的意思是正常(以下不起作用):

$('a .smallPolygonLink').click(function(e){
  console.log("One of the many Small Polygon Links was clicked");
});
Run Code Online (Sandbox Code Playgroud)

bindPopup部分如下.它在制作时在每个多边形上运行,并在单击多边形时正确弹出.它确实显示了链接,只是不会在点击时运行上面的代码.

var popupContent = "Basic Information..." + '<a class="smallPolygonLink" href="#">Click here to see the smaller polygons</a>';
layer.bindPopup(popupContent);
Run Code Online (Sandbox Code Playgroud)

这是一个JSFiddle,用一个简单的形式来说明这个例子.http://jsfiddle.net/2XfVc/4/

javascript jquery leaflet

34
推荐指数
3
解决办法
4万
查看次数

"无法读取未定义的Google地图的属性'zindex'

我正在尝试使用API​​向Google地图添加自定义控件.我已经添加了两个自定义控件,它们工作得很好.我试图复制并粘贴第三个控件的代码(当然更改相关变量)并且我不断收到上述错误(在标题中).

Chrome控制台和Firebug似乎没有指出特定的问题(它在谷歌地图api代码中打破).通过逐步注释出行,我将其缩小到这个特定的行:

map.controls[google.maps.ControlPosition.TOP_RIGHT].push(churchControlDiv);
Run Code Online (Sandbox Code Playgroud)

添加控件的完整代码如下:

function ChurchControl(churchControlDiv, map) {
churchControlDiv.style.padding = '5px 0px';
var churchControlUI = document.createElement('DIV');
churchControlUI.style.backgroundColor = 'white';
churchControlUI.style.borderStyle = 'solid';
churchControlUI.style.borderWidth = '1px';
churchControlUI.style.borderColor = 'gray';
churchControlUI.style.boxShadow = 'rgba(0, 0, 0, 0.398438) 0px 2px 4px';
churchControlUI.style.cursor = 'pointer';
churchControlUI.style.textAlign = 'center';
churchControlUI.title = 'Click to see Churches';
churchControlDiv.appendChild(churchControlUI);
var churchControlText = document.createElement('DIV');
churchControlText.style.fontFamily = 'Arial,sans-serif';
churchControlText.style.fontSize = '13px';
churchControlText.style.padding = '1px 6px';
churchControlText.style.fontWeight = 'bold';
churchControlText.innerHTML = 'Churches<br>??????????????????';
churchControlUI.appendChild(churchControlText);

google.maps.event.addDomListener(churchControlUI, 'click', function() {
    toggle(churches);
    if (churchControlText.style.fontWeight == 'bold') …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps-api-3

11
推荐指数
2
解决办法
5819
查看次数

使用Javascript在OAuth2.0上使用Google Spreadsheets API

我正在尝试使用Javascript访问私人Google电子表格.我已成功获得OAuth2.0授权,可以看到我所有Google云端硬盘文档的列表.我似乎无法做的是进入特定的电子表格.代码如下,函数"retrieveAllFiles"中的相关电子表格代码.其中很多都是从Google教程中挑选出来的.

var clientId = 'working';
var apiKey = 'working';
var scopes = 'https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive https://spreadsheets.google.com/feeds';

function handleClientLoad() {
    console.log('inside handleClientLoad function');
    gapi.client.setApiKey(apiKey);
    window.setTimeout(checkAuth,1);
}

function checkAuth() {
    console.log('inside checkAuth function');
    gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
    console.log('finished checkAuth function');
}

function handleAuthResult(authResult) {
    console.log('inside handleAuthResult function');
    var authButton = document.getElementById('authButton');
    authButton.style.display = 'none';
    if (authResult && !authResult.error) {
        //Access token has been succesfully retrieved, requests can be sent to the API.
        apiCalls();
    } else {
        //No access token could …
Run Code Online (Sandbox Code Playgroud)

javascript oauth-2.0 google-spreadsheet-api

11
推荐指数
1
解决办法
9933
查看次数

在Ember中更改损坏的链接图标

我已经尝试过通常的事情来改变破碎的链接图标(见下文),但它们似乎不适用于我的Ember应用程序.

目前,该模型从外部API获取数据.其中一个数据是链接URL.这个链接url(product_link)被插入到模板中,特别是在这一点上:

<img {{bind-attr src=product_link}} />
Run Code Online (Sandbox Code Playgroud)

这是车把{{#each}}圈的一部分.有几个链接引用了死URL,此时我无法自行修复URL.我想用我自己的一个替换通用的破碎图标链接.我怎样才能做到这一点?

我试过的事情:

<img {{bind-attr src=favorite.product_image onError="this.onerror=null;this.src='/img/error.png';"}} /> 
//still shows the standard broken image icon
Run Code Online (Sandbox Code Playgroud)

-

$('img').error(function(){
    $(this).attr('src', 'img/error.png');
});
//nothing happens if I include this in a called javascript file
Run Code Online (Sandbox Code Playgroud)

有什么建议?

javascript image ember.js

5
推荐指数
1
解决办法
808
查看次数

.on点击事件没有使用Fusion Tables信息在Gmaps Infowindow内部触发

将Fusion Tables和GMaps(v3)与Jquery(v1.7.1)一起使用.

Gmaps使用Fusion Tables数据显示图层.InfoWindow使用Fusion Tables信息填充(在Google Docs - > Fusion Table - > Configure Info Window界面中配置).

在FT信息窗口的自定义HTML的底部是一个链接,其内容如下:

<div><a class="detail" href=#><b>Click to see more detail</b></a>
</div>
Run Code Online (Sandbox Code Playgroud)

我有JQuery测试,看它是否被点击,然后执行代码.

$('.detail').on('click', function(){
    console.log('Click worked');
});
Run Code Online (Sandbox Code Playgroud)

JQuery代码位于body"onload"上运行的initialize函数中.我正在使用.live jquery处理程序,但已被弃用并且反正给我带来了问题.但.on处理程序并没有触发.

有什么建议?

jquery google-maps-api-3 google-fusion-tables

3
推荐指数
1
解决办法
979
查看次数

page.set('content')不适用于phantomjs中的动态内容

我尝试使用phantomjs屏幕捕获我的页面节点 - 幻像桥.这是我正在尝试的:

 var phantom = require('node-phantom');

 phantom.create(function (err, ph) {
            return ph.createPage(function (err, page) {
              return page.set('content', '<html><head></head><body><p>Hello</p></body></html>', function (err, status) {
                  return page.render('./content.png', function (err) {
                    ph.exit();
                  });
                });
            });
          });
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我尝试设置包含javascript的内容,那不起作用.请帮帮我,为什么不行?

编辑:这不起作用:

var phantom = require('node-phantom');

phantom.create(function (err, ph) {
   return ph.createPage(function (err, page) {
      page.open("about:blank", function(err,status) {
         page.evaluate(function() {        
            document.write('<html><head></head><body><script src="http://code.jquery.com/jquery-1.9.1.min.js"></script><script>$(function(){document.write("Hello from jQuery")})</script></body>');
         });

         setTimeout(function () {
            return page.render('./content.png', function (err) {
                ph.exit();
             }); 
         }, 5000);   
    });         
  });
Run Code Online (Sandbox Code Playgroud)

node.js phantomjs

2
推荐指数
1
解决办法
3249
查看次数

Postgresql中的“更新计数”列

我有一张这样布置的桌子:

id  |  name  |  count
1   |  John  |
2   |  Jim   |
3   |  John  |
4   |  Tim   |
Run Code Online (Sandbox Code Playgroud)

我需要填写count列,以便结果是特定名称在该列中显示的次数name

结果应为:

id  |  name  |  count
1   |  John  |  2
2   |  Jim   |  1
3   |  John  |  2
4   |  Tim   |  1
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法轻松获得唯一名称的出现次数:

SELECT COUNT(name)
FROM table
GROUP BY name
Run Code Online (Sandbox Code Playgroud)

但这不适合UPDATE语句,因为它返回多行。

通过执行以下操作,我还可以将其缩小到一行:

SELECT COUNT(name)
FROM table
WHERE name = 'John'
GROUP BY name
Run Code Online (Sandbox Code Playgroud)

但这不允许我填写整个列,仅填写“ John”行。

postgresql

1
推荐指数
1
解决办法
2558
查看次数