මම දැනට කැන්වස් කථන බැලූන් සමඟ වැඩ කරමි. නමුත් දර්ශකය සහිත බැලූනය ඩිවි එකකින් ඔතා ඇති නිසා, එය යටතේ ඇති සමහර සබැඳි තවදුරටත් ක්ලික් කළ නොහැක. මට මේ අවස්ථාවේ දී extjs භාවිතා කළ නොහැක.
මගේ කථන බැලූන් නිබන්ධනයට මූලික උදාහරණය බලන්න HTML5
එබැවින් බැලූන් ඇතුළත සිට සියලු සම්බන්ධක ඛණ්ඩාංක අරාවකින් එකතු කිරීමට මම තීරණය කළෙමි.
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]);
});
}
මම මෙම ශ්රිතය එක් එක් (නව) බැලූනයක අමතන්නෙමි. එය සබැඳි පන්තියක වම් / ඉහළ සහ දකුණේ / පහළ කොන් වල ඛණ්ඩාංක ග්රහණය කරගනී - ඊට අමතරව යමෙකු එම ඛණ්ඩාංක මත ක්ලික් කළහොත් කුමක් කළ යුතුද යන්න සඳහා වන නාම ලක්ෂණය වන අතර මම 1 ක් සැකසීමට ප්රිය කළෙමි. . මෙම අරාව ක්ලික් කරාරයට මාරු කරන්න. ඔබට තල්ලුවද භාවිතා කළ හැකිය.
එම අරාව සමඟ වැඩ කිරීමට:
$("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 --
}
});
මෙම ක්රියාව මඟින් බොඩි ක්ලික් සිදුවීමක ඛණ්ඩාංක හෝ එය දැනටමත් ක්ලික් කර තිබේද යන්න සනාථ කරයි. ගැඹුරට යෑම අවශ්ය නොවන බව මම සිතමි, නමුත් එය එතරම් සංකීර්ණ නොවන බව ඔබට පෙනේ. බලාපොරොත්තුව ප්රීතිමත් විය ...