2009-08-20 5 views
1

まず第一に、これは私の - Test SiteJavascriptが - IEでは動作しません

これは、私が美学と自分をグーグルマップのための私のテストの遊び場に関するわけではないです。私が問題を抱えているのは、情報ウィンドウ内のリンクをクリックするとjQueryが起動することです。 Googleマップに精通している場合、私は私の情報ウィンドウを作成する場所です:

GEvent.addListener(marker,"click", function() { 
map.openInfoWindow(point,'<div class="infoWindow">'+windowText+'\ 
'+<a href='#' class='showme' onclick='return false;'>Show Comments</a>+'\ 
</div>');     

/*On click, show all the comments*/ 
$('.showme').live('click', function(){ 
    //alert('hey'); 
    $('.comment').toggle('slow'); 
}); 

              }); 

、それがどのように機能するかを理解するには、単にページのソースを表示する方が簡単かもしれません。もともと、私は、 "ライブイベント"を使用していたのではなく、正常に動作していた "クリック"で行っていました。インフォメーションウィンドウはメインウィンドウとは別の独自の環境だったので、私は推測していました。

「ライブイベント」を試してみると、これは間違いでしたが、ChromeとFFで動作するようになりました。だから私はなぜクリックイベントがどのブラウザでも動作しない理由、そしてIE以外のすべてでライブイベントが機能する理由を理解しようとしています。

誰でも入力がありますか?

おかげで、
レヴィ

編集:申し訳ありませんが、それは私のトラブルはどこにある情報ウィンドウで「ショーのコメント」リンクがあるクリアされなかった場合。

答えて

2

IEでjqueryのlive()機能を使用する際に問題があるようです。代わりにバインドを試みるための推奨hereがありました。他の場所では、mouseupやmousedownなどの別のマウスイベントを使用することもできます。しかし、間違いなくIEのバグのようです。

+0

ああ、うわー、それはトリックでした。私はまだ定期的なクリックイベントがインフォメーションウィンドウ内でうまくいかない理由を知りたいのですが、もう少し調べてみる必要があります。 – Levi

0

livequeryプラグインは、IEの情報ウィンドウで動作するようです。

$('.showme').livequery(function(){ 
    $(this).click(function(){ 
    $('.comment').toggle('slow'); 
    }); 
}); 
0

live('click',...)live('mouseup', ...)には、私の場合には、それを固定変更します。

関連する問題