2011-02-02 10 views
3

OpenLayer(JavaScriptマッピングライブラリ)のOpenLayer.Popup.FramedCloudを使用しています。 ポップアップコンストラクターにcontentHTMLというパラメーターがあります。 私はonlickイベントとそこにHTMLボタンを置く:OpenLayer.Popup.FramedCloudで応答しないonclickイベント

contentHTML = "<button type='button' onclick='alert()'>Hello</button>"; 

ボタンをクリックに応答しないいくつかの理由から。 なぜですか?これには解決策がありますか?

これは、WebページがWinform WebBrowserにアップロードされている可能性がありますか? 通常のブラウザ(chrome)でページをアップロードすると、すべてが動作しますが、Winform WebBrowserではなく、 になっています。

完全なポップアップオブジェクト:

 var lonlat = new OpenLayers.LonLat(lon, lat); 
     var size = new OpenLayers.Size(300,200) 
     var htmlString = "<button type='button' onclick='alert()'>Hello</button>"; 
    popup = new OpenLayers.Popup.FramedCloud("popup", 
               lonlat, 
               size, 
               htmlString,     
               anchor=null, 
               closeButtonX =false);   
     popup.id = callId; 
     g_waze_map.map.addPopup(popup); 

おかげでたくさん。

+0

例をhttp://JSFiddle.netにアップロードできますか? –

答えて

3

私はOpenLayers.Popup.FramedCloudを開発して使用していますが、あなたのcontentHTMLでもうまく動作します。私のコードは以下の通りです:

// i.e. x = 100, y = 300; 

var popup = new OpenLayers.Popup.FramedCloud(
    "getfeature", 
    map.getLonLatFromPixel(new OpenLayers.Pixel(x,y)), 
    new OpenLayers.Size(300,200), 
    "<button type='button' onclick='alert()'>Hello</button>", 
    null, 
    true 
); 
popup.autoSize = false; 
map.addPopup(popup); 

ポップアップが自動的に開き、私にボタンが表示されます。私がそれをクリックすると、アラートはテキスト '未定義'で表示されます。

+0

申し訳ありません、作業していません –

+0

あなたはポップアップをどのように作成していますか?あなたのメインポストを編集してください。ありがとう! –

+0

@Day_Dreamer FramedCloudコンストラクタの最後の2つのパラメータを変更し、 'null'と 'true'をそれぞれ使用するとどうなりますか? –

関連する問題