2011-02-02 3 views
3

OpenLayer (JavaScript 매핑 라이브러리)에서 OpenLayer.Popup.FramedCloud를 사용하고 있습니다. 팝업 생성자에는 contentHTML이라는 매개 변수가 있습니다. 나는 onlick 이벤트와 거기에 HTML 버튼을 넣어 :OpenLayer.Popup.FramedCloud에서 응답이없는 onclick 이벤트

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

버튼을 클릭에 응답하지 않는 몇 가지 이유에서. 왜? 이것에 대한 해결책이 있습니까?

아마도 웹 페이지가 Winform WebBrowser에 업로드 되었기 때문일 수 있습니다. 일반 브라우저 (크롬)로 페이지를 업로드하면 모든 것이 작동 함을 알게되었습니다. 그러나 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 생성자의 마지막 두 매개 변수를 변경하고 각각 'null'및 'true'를 사용하면 어떨까요? –