আমি বর্তমানে ক্যানভাস স্পিচ বেলুনগুলি নিয়ে কাজ করি। তবে পয়েন্টারের সাথে বেলুনটি একটি ডিভের মধ্যে আবৃত থাকার কারণে, এর অধীনে কিছু লিঙ্কগুলি আর ক্লিক করতে সক্ষম নয়। আমি এই ক্ষেত্রে এক্সট্রা ব্যবহার করতে পারি না।
আমার স্পিচ বেলুন টিউটোরিয়ালটির জন্য বেসিক উদাহরণটি দেখুন 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 সেট করতে পছন্দ করি যার অর্থ এটি জেটে ক্লিক করা হয়নি was । এবং এই অ্যারেটি ক্লিকেরে আনশিফ্ট করুন। আপনি খুব ধাক্কা ব্যবহার করতে পারে।
সেই অ্যারের সাথে কাজ করতে:
$("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 --
}
});
এই ফাংশনটি বডি ক্লিক ইভেন্টের স্থানাঙ্কের প্রমাণ দেয় বা এটি ইতিমধ্যে ক্লিক করা হয়েছিল এবং নামটির বৈশিষ্ট্যটি ফিরিয়ে দেয়। আমি মনে করি এটি আরও গভীর হওয়া প্রয়োজন হয় না, তবে আপনি দেখেন যে এটি জটিল নয়। আশা ছিল আনন্দিত ...