Şu anda tuval konuşma balonları ile çalışıyorum. Ancak işaretçiye sahip balon bir div içine sarıldığından, altındaki bazı bağlantılar artık tıklanamaz. Bu durumda extjs kullanamıyorum.
Konuşma balonu öğreticimin temel örneğini görmek için HTML5 gerekiyor
Bu yüzden bir dizideki balonların içinden tüm bağlantı koordinatlarını toplamaya karar verdim.
var clickarray=[];
function getcoo(thatdiv){
thatdiv.find(".link").each(function(){
var offset=$(this).offset();
clickarray.unshift([(offset.left),
(offset.top),
(offset.left+$(this).width()),
(offset.top+$(this).height()),
($(this).attr('name')),
1]);
});
}
Bu işlevi her (yeni) balonda adlandırıyorum. Bir bağlantının sol / üst ve sağ / aşağı köşelerinin koordinatlarını alır. Buna ek olarak, birisi bu koordinatlara tıklarsa ve bir 1 ayarlamayı sevdiğimde, jet tıklanmadığı anlamına gelir. . Ve bu diziyi tıklama dizisine kaydırın. Push'u da kullanabilirsiniz.
Bu diziyle çalışmak için:
$("body").click(function(event){
event.preventDefault();//if it is a a-tag
var x=event.pageX;
var y=event.pageY;
var job="";
for(var i in clickarray){
if(x>=clickarray[i][0] && x<=clickarray[i][2] && y>=clickarray[i][1] && y<=clickarray[i][3] && clickarray[i][5]==1){
job=clickarray[i][4];
clickarray[i][5]=0;//set to allready clicked
break;
}
}
if(job.length>0){
// --do some thing with the job --
}
});
Bu işlev, bir gövde tıklaması etkinliğinin koordinatlarını veya önceden tıklanmış olup olmadığını kanıtlar ve name özniteliğini döndürür. Bence daha derine inmek gerekli değil ama görüyorsunuz o kadar da karmaşık değil. Umut inlish oldu ...