私は地図(intanceOf Google Maps)を持っていて、動的にhtmlを追加しています。これはpim、より具体的にはrichMarkerです。すべてがうまくいき、マークがあります。
問題は、 richMarkerによってレンダリングされたこの html のタグにクラスを設定しようとしていて、ページでこのタグを JQuery セレクターでキャッチしようとしていて、もちろんそれを処理しようとしていることです。
いくつかのコード:
メインページにはこれがあります。
$.cometd.subscribe(channelCerca, function (comet) {
if (comet.data.type== 0) //Enum ETipoCerca
sigo.notifyError("viature: " + comet.data.viatura + " out");
else if (comet.data.type== 1)
sigo.notifyError("viature: " + comet.data.viatura + " out");
color = comet.data.cercaColor;
cerca = doDraw(comet.data, color);
cadg.rastreador.cerca = true;
cadg.rastreador.LoadRastreator(force, color );
$('.blink').each(function () {
var elem = $(this);
setInterval(function () {
if (elem.css('visibility') == 'hidden') {
elem.css('visibility', 'visible');
} else {
elem.css('visibility', 'hidden');
}
}, 500);
});
//$(window).load(doBlink());
//doBlink();
});
loadRastreadorは多くのことを行います。一般的に: 1 - ajax 投稿 2 - マーカーの準備 3 - マップへのマーカーの追加
私が行う新しいマーカーの準備について:
//CERCA
if (cerca) {
desc = "<span class='blink' color: " + cor + "' > " + this.des + "</span>";
}
このスパンをblinkクラスでキャッチしてjqueryで点滅させたい。
$('.blink').each(function () {
var elem = $(this);
setInterval(function () {
if (elem.css('visibility') == 'hidden') {
elem.css('visibility', 'visible');
} else {
elem.css('visibility', 'hidden');
}
}, 500);
});
アプリケーションは少し複雑です..しかし、私の問題は単純です。何らかの理由で、jquery はこの新しい要素を認識できません。
私はすでに試しました:1 - このjquery命令をajaxのdoneメソッドメソッド内に入れます。2 - $(window).load() を使用する 3 - text-decorarion を使用する: 点滅<- firefox で動作しますが、お勧めしません。クロムはそれをまったく無視します。
注:このjquery命令をキャッチしてクロムコンソールまたはfirefugで実行すると、必要に応じて要素が点滅し始めます。